Commit Graph

29 Commits

Author SHA1 Message Date
Jared Boone 22e44605b6 Hide baseband queue code inside baseband "API". 2016-02-10 20:11:19 -08:00
Jared Boone 472b0a2e79 ReceiverModel no longer uses some baseband modes. 2016-02-10 16:32:25 -08:00
Jared Boone 6c06549b6e Remove reference PPM methods from ReceiverModel. 2016-02-10 15:34:33 -08:00
Jared Boone a9451c17b4 Move PPB clock adjustment out of ReceiverModel. 2016-02-05 16:52:34 -08:00
Jared Boone 682c87e3ff Wrap baseband sampling rate function to radio:: function. 2016-02-05 16:36:36 -08:00
Jared Boone 0294165481 Extract LOTS of stuff into an audio API.
Prevent all manner of type and implementation leakage.
2016-02-05 16:25:43 -08:00
Jared Boone 10c7c57fd1 Expose modulation configuration indices. 2016-02-02 15:19:43 -08:00
Jared Boone fece0a5e1b Move modulation configuration into ReceiverModel. 2016-02-02 13:39:02 -08:00
Jared Boone 25fac90d4f Improve radio state management re: antenna bias voltage.
Responsibility for radio state is still rather muddy...
2016-01-23 11:31:50 -08:00
Jared Boone 10d4172d5c RF antenna bias voltage control API. 2016-01-23 11:30:00 -08:00
Jared Boone 146caaab6f Consolidate baseband disable code. 2016-01-10 11:10:13 -08:00
Jared Boone d9bfaaf805 Stop baseband streaming when switching radio configuration.
Probably unnecessary, but feeling paranoid about changing sample rates while there's a processor actively handling samples, and potentially maxing out the M4 core.
2016-01-10 11:01:54 -08:00
Jared Boone 0647f26707 Move SGPIO configuration and control to baseband firmware.
Addresses long-standing and annoying bug where SGPIO DMA channel would not disable -- and not configure cleanly next time it was needed. My theory is that the DMA channel couldn't disable until it got a request from the peripheral, and sometimes the peripheral was disabled before that last request.

Anyway, the baseband firmware should control the SGPIO, methinks, despite the impact on baseband code size.
2016-01-10 10:23:39 -08:00
Jared Boone 83bf2a9a36 Tweak BasebandConfiguration constructors to avoid surprise type conversions. 2015-12-10 14:40:48 -08:00
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 791b2a9762 Remove now-unused FSKConfiguration message. 2015-11-10 15:07:20 -08:00
Jared Boone 57db6a6367 Ignore more initial bits of AIS training sequence. 2015-11-06 09:40:01 -08:00
Jared Boone 37b1d7cf2f Remove payload_length from PacketBuilder, etc. 2015-11-06 09:40:01 -08:00
Jared Boone 6499de39bf Shorten AIS packet to expected data + FCS length. 2015-11-06 09:40:00 -08:00
Jared Boone e9f28f9ef3 Provide configuration of symbol unstuffing. 2015-11-06 09:40:00 -08:00
Jared Boone 5d9079f87f Stop streaming when changing baseband configuration.
Without, the baseband would get confused.
2015-08-27 14:07:15 -07:00
Jared Boone e751e10e45 Add wideband spectrum processor. 2015-08-27 13:57:31 -07:00
Jared Boone 8f326e2d8e Use PPB correction to adjust clock generator XTAL PLLA frequency.
Addresses issue #40.
2015-08-24 12:11:33 -07:00
Jared Boone 4126f1ab1f Change IPC to exchange data, not pointers. 2015-08-20 13:13:12 -07:00
Jared Boone d855336985 Persist tuned frequency.
w00t!
2015-08-04 10:31:03 -07:00
Jared Boone 45d26abf10 Use correct memory region for persistent storage.
Turns out 0x10088000 - 0x10089fff is not the right place. It's 0x40041000, and is only 256 bytes!
Move PPM to correct place, change representation to PPB for finer control.
Reset PPB value to initial value if read value out of bounds.
Clip PPB value on write to permitted bounds.
Contributes to resolution of issue #11.
2015-08-04 10:03:18 -07:00
Jared Boone 1d16cd8aac Consolidate peripheral declarations. 2015-08-01 13:42:27 -07:00
Jared Boone 9db54276c1 Expose reference PPM correction property on receiver model. 2015-07-29 15:59:05 -07:00
Jared Boone dc6fee8370 Initial firmware commit. 2015-07-08 08:39:24 -07:00