Skip to content
Benjamin Vernoux edited this page Jan 8, 2015 · 16 revisions

Welcome to the firmware wiki!

TODO:

  • SAFE Firmware flasher:
    • Idea1: usb_vendor_request_write_spiflash() => Check Written Data for safer Flash and return KO or OK (today it does not check data and return always OK) also add Header with CRC32 to avoid flashing bad file ?
    • Idea2: Drop actual usb_vendor_request_write_spiflash(), reboot and check an internal flag to jump in ROM USB DFU like if it was done with Jumper (to be checked if that can work) => http://www.lpcware.com/content/forum/lpc1857-jump-usbdfu-bootloader-application
  • Change configuration M4, M0 and group all the config in 1 file and 1 structure in a fixed addr in FLASH and copied to a fixed addr in SRAM at start.
  • Calibration TODO define API/conf and how to do it (in SI5351C ...)
  • Merge multiple sample rate config:
    • Idea1: Challenge Needs to change SI5351C LPC clock(main clock), so need to reconfigure ALL clocks like after a reset but without resetting USB0 Clock !!
      • Potential problems:
        • Random bug with USB lockup on PC side or FW side.. (ultra hard to debug) Due to reconfiguration of USB0 PLL (as it is required to reconfigure it)
        • LPC random freeze during reconfiguration of PLL1 (already seen).
    • Idea2: For each new sample rate set a variable with a signature in fixed SRAM addr and reboot, at boot check that signature and use the value to configure the system.
      • Potential problems:
        • No problem on firmware side ultra clean and simple.
        • On Host side lib airspy shall manage that new feature and close then reopen the device in a transparent way (as there is a new USB enumeration due to reboot).
  • Implement reset command.
  • Add a list_samplerates command then select by index.