Commit Graph

317 Commits

Author SHA1 Message Date
Jared Boone 82ff45860e Add basic ERT (OOK) utility meter reception.
Extracted the Manchester formatting function for use in ERT, now also returns an indication of bits in error.
2015-12-01 11:24:48 -08:00
Jared Boone 0c36a74351 Add SD card status view to receiver UI. 2015-12-01 10:45:34 -08:00
Jared Boone c70d95dcbe Remove SDCardStatusMessage, replace with Signal, extract to separate files. 2015-12-01 10:38:35 -08:00
Jared Boone 600295f0db Add Signal for callbacks within a process (code executing on one core). 2015-12-01 10:27:46 -08:00
Jared Boone 42104d217a Broaden SD card status detail in message. 2015-11-29 15:50:58 -08:00
Jared Boone 5928086fd9 Simplify SD card mount status code. 2015-11-29 15:37:24 -08:00
Jared Boone 435824e9b5 Clean up buffer_t constructors. 2015-11-20 11:21:31 -08:00
Jared Boone d96379dc9c Remove extra semicolons. 2015-11-20 11:11:14 -08:00
Jared Boone 600a983d5c Clean up complex<int16_t> -> complex<float> casting. 2015-11-20 11:01:41 -08:00
Jared Boone 85e984ed3b Clean up complex<int8_t> -> complex<float> casting. 2015-11-19 12:42:35 -08:00
Jared Boone 060da5d227 Add ChannelDecimator decimate by 2 and no-shift options. 2015-11-19 12:24:20 -08:00
Jared Boone ccd64f3cd9 Add function for c8->c16 decimate by two without fs/4 shift. 2015-11-19 12:20:20 -08:00
Jared Boone 8967f0eaa1 Move common matchers to PacketBuilder. 2015-11-16 10:33:50 -08:00
Jared Boone 9900c29283 Deepen BitPattern and BitHistory to 64 bits. 2015-11-16 10:33:08 -08:00
Jared Boone 4d6877ab15 Extract FieldReader to separate header so it can be reused. 2015-11-16 10:31:36 -08:00
Jared Boone 77199fb3dd Add sdcDisconnect() to avoid HackRF mode entry crash if SD card is connected. 2015-11-13 10:55:52 -08:00
Jared Boone 6f09cf21f8 Move sdcStop() call to have symmetry with sdcStart(). 2015-11-13 10:55:08 -08:00
Jared Boone 0a9da7a1d3 Store tuned frequency and modulation characteristics in TPMS log. 2015-11-11 11:56:50 -08:00
Jared Boone 8e4e33f74e Don't show TPMS Manchester errors on LCD, truncate data to not wrap. 2015-11-11 11:56:20 -08:00
Jared Boone 19f352fa13 Log TPMS Manchester encoding errors. 2015-11-11 11:19:17 -08:00
Jared Boone 1770dff522 Finish object-izing Baseband and RSSI threads. 2015-11-11 10:54:36 -08:00
Jared Boone 4f82524e77 Another default constructor. 2015-11-11 10:30:35 -08:00
Jared Boone d9106b6f44 Start object-ization of RSSI thread. 2015-11-11 10:11:37 -08:00
Jared Boone 19c89def75 Start to object-ize the baseband thread function. 2015-11-11 10:02:06 -08:00
Jared Boone 2c64454172 More constructor style clean-up. 2015-11-11 09:35:28 -08:00
Jared Boone d02698a6de Apparent bug where min/max aren't initialized from value inside the buffer bounds.
The fix is less than ideal, it assumes that an incoming buffer length is always >= 1.
2015-11-11 09:30:15 -08:00
Jared Boone ebf103363c Constructor style clean-up. 2015-11-11 09:16:20 -08:00
Jared Boone db416fd670 Basic TPMS logging to a SD card file. 2015-11-10 15:31:46 -08:00
Jared Boone ed585d2c15 Enable FatFs string functions. 2015-11-10 15:30:43 -08:00
Jared Boone 987ea3555d SD card detection and filesystem mounting. 2015-11-10 15:24:42 -08:00
Jared Boone 9f6c495fef Add TPMS initial demodulator implementation.
Right now, 2FSK, 19200 baud, +/-38400Hz deviation. No effort is made to check CRC/checksums or decode packets.
2015-11-10 15:19:56 -08:00
Jared Boone 6cdef7026d Remove spectrum window-presum due to lack of code RAM. 2015-11-10 15:16:27 -08:00
Jared Boone e6351ca066 Improve comment accuracy. 2015-11-10 15:11:19 -08:00
Jared Boone 99871dcb84 Move a few member variables to stack/constants. 2015-11-10 15:10:52 -08:00
Jared Boone 791b2a9762 Remove now-unused FSKConfiguration message. 2015-11-10 15:07:20 -08:00
Jared Boone 981c2fbfbd Complete FSKProcessor's trip to being AISProcessor. 2015-11-10 15:04:38 -08:00
Jared Boone 111a5f10c0 Add some baseband constructors.
Some of them I think I took out earlier...
2015-11-10 14:04:50 -08:00
Jared Boone add6171410 Move BasebandStatistics from heap to stack. 2015-11-10 13:59:17 -08:00
Jared Boone 0789d50fdf Rework BitHistory, BitPattern, PacketBuilder.
Templatize PacketBuilder to optionally bit unstuff, and have flexible packet termination behavior.
2015-11-09 14:38:09 -08:00
Jared Boone 0b522abbc1 Rename AIS packet handler variables for consistency with spec. 2015-11-09 14:35:06 -08:00
Jared Boone 850c847bbf Trap attempts to register more than one message handler at a time. 2015-11-09 11:57:38 -08:00
Jared Boone 47a3ffb15a Insulate ui::Context a bit from its clients.
Add accessor methods.
2015-11-09 11:56:40 -08:00
Jared Boone 85383e488b std::fma not necessary with proper compiler options.
std::fma isn't available on Ubuntu 15.04 arm-gcc, apparently. Hence my reviewing this code...
2015-11-08 16:33:32 -08:00
Jared Boone 5dcca89172 FSKProcessor: remove separate channel filter.
RRC filter alone will do the trick!
2015-11-07 14:10:44 -08:00
Jared Boone fc037c739a Comment about correct MatchedFilter usage.
Because the filter expects a combined translate/rotate and low-pass filter in the taps, the taps must be a multiple of the translate sinusoid period.
2015-11-07 11:27:31 -08:00
Jared Boone 9e694ce836 AIS decoding and really bad UI.
The decoder needs a serious refactoring/decoupling.
The UI just dumps bits of the received packets into a console window, whcih scrolls too quickly in an AIS-dense area with a good antenna.
2015-11-06 13:53:04 -08:00
Jared Boone a366b3ac4f CRC class.
Has some more efficient code, commented out because I was having trouble getting it to work. However, it may have been due to the particular data I was trying to decode and CRC-validate.
2015-11-06 13:49:59 -08:00
Jared Boone ae225e8c3b Further MatchedFilter optimization using algebraic identities and stuff.
Can't stop premature optimization!!!
2015-11-06 09:40:05 -08:00
Jared Boone 100761481e Fix inaccurate comment. 2015-11-06 09:40:05 -08:00
Jared Boone 3d5c8056d9 Premature optimization of MatchedFilter::shift_by_decimation_factor(). 2015-11-06 09:40:05 -08:00