Commit Graph

5963 Commits (master)

Author SHA1 Message Date
drowe67 5e0f9106cf streaming working OK, some run time diagnostics 2015-10-13 05:04:44 +00:00
drowe67 20d55d3586 first pass at streaming version, works oK from stroed file 2015-10-13 02:23:15 +00:00
drowe67 f20fdd1cfe fading and freq drift model working OK 2015-10-13 01:45:57 +00:00
drowe67 7478330724 decoding multiple packets 2015-10-12 08:27:20 +00:00
drowe67 6589bd1b3c first packet from Horus payload demodulated and printed out yayyy 2015-10-12 03:41:03 +00:00
drowe67 d84e57d3ad fine timing OK at +/- 1000pm Eb/No=10dB, getting bits from baloon signal OK, now for frame sync 2015-10-12 00:00:10 +00:00
drowe67 47dc2c91d6 some more work on fine timing 2015-10-11 23:22:05 +00:00
drowe67 b763532e6d fine timing estimate hanging on for a range of static timing offsets 2015-10-11 00:24:26 +00:00
baobrien 5884953533 A little improvement to 4FSK symbol resolution 2015-10-10 18:08:24 +00:00
sjlongland 22f8eb3029 sm1000_main: First stab at a time-out timer.
This needs calibration, but basically it cuts transmission after a fixed
period, giving warning beeps in the time just prior to timeout.

For now it is disabled by default, and the timing for now is way off.
2015-10-06 10:03:57 +00:00
sjlongland 2e30cd8af7 sounds: Add a tune to play for when the time-out is reached. 2015-10-06 10:03:55 +00:00
sjlongland e2f704cc50 tot: Time-out timer module
This is a crude time-out timer, designed to be ticked along by the
systick timer then polled in the main loop.
2015-10-06 10:03:52 +00:00
sjlongland bd50a14706 sounds: Make structures const. 2015-10-06 10:03:47 +00:00
hobbes1069 5dcfcc97b8 Commit draft instructions for branching and tagging. 2015-10-05 14:14:10 +00:00
hobbes1069 e188fbf625 Remove failed attempt to use prebuilt wxWidgets binaries from svn. 2015-10-05 13:52:32 +00:00
baobrien 453f7e1964 A bit more messing with and clean up of fsk4.m 2015-10-05 00:26:11 +00:00
rickb44 def8df2e3f FIX SVN CHANGE LOG RGB 10/04/15 2015-10-04 19:19:14 +00:00
rickb44 a28b7513a1 FIX COMMIT PROBLEM RGB 10-04-5 2015-10-04 19:16:38 +00:00
rickb44 a66ff58389 COMMIT TO SVN 2015-10-04 19:10:11 +00:00
rickb44 f47491a31a SM1000-F RELEASE. MFG & GERBER FILES FOR PRODUCTION. RGB 10-04-15 2015-10-04 19:07:51 +00:00
rickb44 51648ce91a ADD PDFs of Schematics and board layers L1, L2, L3 & L4 for reference only. RGB 10/03/15 2015-10-04 02:15:15 +00:00
hobbes1069 76e12f6009 Fix install location for Win64. 2015-10-03 02:57:17 +00:00
sjlongland 774dfac1e0 codec2 debian rules: make executable 2015-10-02 23:04:08 +00:00
sjlongland 32e1422dcd freedv debian rules: Fix indentation, permissions.
Should be executable, and who-TF took out the tabs?!  Makefiles have
tabs.
2015-10-02 23:02:40 +00:00
sjlongland 472f9e94a0 freedv: debian control: Rename source package to fdmdv2
This is to maintain compatibility with the older 'fdmdv2' package in
Debian.  Not calling it this can lead to apt getting confused.
2015-10-02 22:49:25 +00:00
rickb44 8bdaa3496e Update Schematic & board files. Add PDF of schematic for review. RGB 2015-09-28 17:33:08 +00:00
sjlongland 5a102d1c53 stm32_flash: Add BKPSRAM section.
This is taken from the datasheet.  We can place variables in there by
declaring them in the C code like this:

/*!
 * User preferences
 */
static struct prefs_t {
    /*! Serial number */
    uint64_t serial;
    /*! Menu frequency */
    uint16_t menu_freq;
    /*! Menu speed */
    uint8_t menu_speed;
    /*! Menu volume (attenuation) */
    uint8_t menu_vol;
    /*! Default operating mode */
    uint8_t op_mode;
} prefs __attribute__((section(".bkpsram")));
2015-09-28 10:43:36 +00:00
baobrien 2ef558fa6f Further 4FSK DMR work 2015-09-28 03:28:56 +00:00
sjlongland cdf596e983 stm32f4_vrom: Correct sector size.
The sectors are 16kB, not 64kB.  (Yes, brain fart moment yesterday.)
2015-09-27 06:41:19 +00:00
sjlongland 6335d0af6c sm1000_main: Store two copies of the settings.
We keep a rolling serial number (64-bit, so probably flash will wear out
before rollover happens) that is incremented on each write, and we write
to the oldest image in flash.

On load, we pick the newest one that's valid.
2015-09-27 04:23:30 +00:00
baobrien 4c998da948 fsk4 ber curves work now 2015-09-27 02:42:58 +00:00
baobrien 019d1df182 fsk4.m now has BER curve tracer 2015-09-27 01:22:21 +00:00
sjlongland 892e51414a sm1000_main: Enable CRC peripheral. 2015-09-27 01:07:51 +00:00
sjlongland 10982f7232 sm1000_main: Don't save settings unless something changed. 2015-09-27 00:44:53 +00:00
sjlongland 5e5121690c stm32f4_vrom: Do checksum on copy of block.
Store a temporary copy of the block on the stack to do our checksumming
on.  This allows us to zero out the CRC32 field.

(There is a way to include the CRC32 field in the checksum itself, but
haven't figured out the mathematics needed yet.)
2015-09-27 00:03:20 +00:00
sjlongland cb5dcede42 stm32f4_vrom: Adjust erase cycle counter. 2015-09-26 23:53:32 +00:00
sjlongland 25c0418c02 stm32f4_vrom: Make structures "packed" 2015-09-26 23:53:30 +00:00
sjlongland d0bfc6ae80 sm1000_main: Clear DAC buffer after playback.
This seems to cure a "hanging note" issue when navigating menus.
2015-09-26 23:53:27 +00:00
sjlongland 432267095a stm32f4_vrom: Fixes to writing out data.
Numerous logic errors fixed.  This time we succesfully write out blocks
and mark them as being used.
2015-09-26 13:59:29 +00:00
sjlongland 00e3b7bc1d stm32_flash: Fill EEPROM section with 0xff.
Filling it with 0x00 (the default) makes the virtual EEPROM code think
the sectors are depleted.
2015-09-26 11:45:28 +00:00
sjlongland abd8526d64 sm1000_main: Add some logic involving the virtual EEPROM.
Not working yet.
2015-09-26 11:45:25 +00:00
sjlongland c8d49aae69 Makefile: Add stm32f4_vrom to sm1000 target 2015-09-26 11:45:20 +00:00
sjlongland f636acb0bd stm32f4_vrom: Virtual EEPROM driver for STM32F4.
This is a work-in-progress driver for talking to the flash on the
STM32F4.  Untested for now.
2015-09-26 10:32:45 +00:00
sjlongland d3e62cf3c2 tone: Fix copyright notice 2015-09-26 10:32:41 +00:00
sjlongland bbcbe090ff stm32_flash: Add a section for EEPROM data.
This allocates a few sectors of flash for the following purposes:
- Sector 0: ISR vector data.  (This gets mapped to address 0; so we have
  no choice, the ISR data *must* reside here.)
- Sector 1..3: Virtual EEPROM.  We'll stash our configuration parameters
  here.  We have 48kB available.
- Sector 4.. onwards: Program data

Credit: clive1, ST e2e Communities.
https://my.st.com/public/STe2ecommunities/mcu/_layouts/st/getshorturl.aspx?List={697285D7-A9CA-445D-B16C-F23BF0E3B1A3}&ItemId=24079
2015-09-26 02:57:32 +00:00
sjlongland 02202d69e4 sm1000_main: Forbid entering menu with PTT asserted. 2015-09-26 01:32:22 +00:00
sjlongland ad17531fbf sm1000_main: Ensure sane output states on entering menu.
Particularly, ensure PTT is not asserted.
2015-09-26 01:32:19 +00:00
sjlongland 56896cd643 sm1000_main: Software-mix audio tones.
Mix the received audio with menu audio tones so that things like mode
announcements don't interrupt the received audio.
2015-09-26 00:51:36 +00:00
sjlongland ab534d5de7 sm1000_main: Fix logic error exiting 'VOL'
Seems we were setting the dit time on the morse player instead of
restoring the old volume setting.
2015-09-26 00:05:55 +00:00
sjlongland 8ee18acbca sm1000_main: Fix indentation 2015-09-26 00:05:53 +00:00