1. 12 Aug, 2022 3 commits
    • Earle F. Philhower, III's avatar
      Update version · e9478951
      Earle F. Philhower, III authored
      e9478951
    • Earle F. Philhower, III's avatar
      Add OTA.O to make p.io builds function (#755) · bb91d978
      Earle F. Philhower, III authored
      Partial #754
      bb91d978
    • Earle F. Philhower, III's avatar
      Add OTA update support (#711) · da86a894
      Earle F. Philhower, III authored
      Adds a 12K OTA stub 3rd stage bootloader, which reads new firmware
      from the LittleFS filesystem and flashes on reboot.
      
      By storing the OTA commands in a file in flash, it is possible to
      recover from a power failure during OTA programming.  On power
      resume, the OTA block will simply re-program from the beginning.
      
      Support cryptographic signed OTA updates, if desired.  Includes
      host-side signing logic via openssl.
      
      Add PicoOTA library which encapsulates the file format for
      the updater, including CRC32 checking.
      
      Add LEAmDNS support to allow Arduino IDE discovery
      
      Add ArduinoOTA class for IDE uploads
      
      Add MD5Builder class
      
      Add Updater class which supports writing and validating
      cryptographically signed binaries from any source (http,
      Ethernet, WiFi, Serial, etc.)
      
      Add documentation and readmes.
      da86a894
  2. 11 Aug, 2022 1 commit
  3. 10 Aug, 2022 2 commits
  4. 09 Aug, 2022 1 commit
  5. 08 Aug, 2022 2 commits
  6. 06 Aug, 2022 1 commit
  7. 30 Jul, 2022 2 commits
    • Earle F. Philhower, III's avatar
      Stop random crashes while writing to flash (#730) · 005cba3a
      Earle F. Philhower, III authored
      FreeRTOS SMP was updated to:
      a) Move ths SYSTICK handler, which cannot be disabled and can fire
         even with IRQs disabled, to RAM
      b) Add a flag from the core to the SYSTICK handler to hold off on
         any PendSV (task switch) calls while we are doing the idleOtherCore.
      
      The core now sets this flag, _holdPendSV, and adds add'l FreeRTOS SMP
      calls to really, really tell the OS we can't, don't, and better not
      be swapped out while writing to flash.
      
      Fixes #719
      005cba3a
    • Earle F. Philhower, III's avatar
      Increase LWIP MEM_SIZE to > TCP_SND_BUF (#731) · bb029cc2
      Earle F. Philhower, III authored
      The send buffers are set to 8 * MSS = ~11.5K.  MEM_SIZE is now set to
      be larger than that, 16K, in order to help avoid having tcp_write fail
      with ENOMEM.  The attempt to use a smaller size is still included, which
      will allow a tcp_write of up to 16 * 16K = 256K, i.e. all of memory.
      
      Fixes #725
      bb029cc2
  8. 29 Jul, 2022 2 commits
  9. 28 Jul, 2022 2 commits
  10. 27 Jul, 2022 1 commit
    • Pontus Oldberg's avatar
      Added to possibility to have extra compiler directives for a board. (#713) · e6e87fd3
      Pontus Oldberg authored
      * Adds support for Challenger RP2040 WiFi boards
      
      * Added Challenger board to makeboards build script
      
      * Adds new challenger board with LTE modem.
      
      * Updated after getting approved PID from Raspberry Pi
      
      * Add support for reverse numbering of analog pins.
      
      * Added minimal HW support for onboard WiFi modem.
      
      * Added challenger-nb-rp2040-wifi and RPICO32 module.
      
      * Updated PID for RPICO32
      
      * Added a simple support class for challenger LTE boards
      
      * Update ChallengerLTE.cpp
      
      Fixed spelling error
      
      * Adds option for setting USB max power in makeboards.py
      
      * Added new board Challenger RP2040 LoRa
      
      * Added new lora board to readme.
      
      * Added missing SERIAL2 and LoRa module GIO pins.
      
      * Added support for enabling UART CTS and RTS pins.
      
      * Updated boards.txt after merge conflict of makeboards.py
      
      * Fixed incorrect indention
      
      * Fixed PR comments
      
      * Add new Challenger RP2040 WiFi/BLE board (https://ilabs.se/challenger-rp2040-wifi-ble-datasheet)
      
      * * Updated PID for WiFi/BLE board
      * Added abstraction pins for both versions of wifi modules
      * Added support for replacing support class serial port.
      * Added support for retrieving support class serial port.
      
      * Fixed spelling errors.
      
      * Updated helper class for Challenger NB board.
      
      * Added Challenger sdrtc and subghz boards.
      
      * Updated readme.
      
      * Re ran makeboards to generate new index.
      
      * Added to possibility to have extra compiler directives for a board.
      
      * Added extra compiler options to JSON generation.
      
      * Allows having a list of extra macros to define
      
      * Fixed incorrect USB PID for Challenger NB board.
      
      * Added board initialization for all wifi boards.
      Co-authored-by: default avatarEarle F. Philhower, III <earlephilhower@yahoo.com>
      e6e87fd3
  11. 24 Jul, 2022 1 commit
  12. 23 Jul, 2022 3 commits
  13. 22 Jul, 2022 2 commits
  14. 21 Jul, 2022 5 commits
  15. 20 Jul, 2022 1 commit
  16. 19 Jul, 2022 3 commits
  17. 17 Jul, 2022 2 commits
  18. 16 Jul, 2022 1 commit
  19. 15 Jul, 2022 2 commits
    • Earle F. Philhower, III's avatar
      Update version · 988940b2
      Earle F. Philhower, III authored
      988940b2
    • Earle F. Philhower, III's avatar
      Add Pico W WiFi support (#670) · abf2c586
      Earle F. Philhower, III authored
      * Add support for the WiFi chip on the Pico W board.
      * USB interrupt now no longer hard coded (conflicted with the WiFi IRQ).
      * Add in Pico W board to makeboards.py
      * Add in GPIO and variant support
      * Initialize WiFi in the Variant
      * Use manual LWIP, fix size accounting
      * Remove the SDK WiFi overrides
      * Pulling in work done in the ESP8266 core.
      * Make IPAddress support IPv6
      * Build LWIP with IPv4 and IPv6 support
      * Use proper MAC
      * Avoid cyw_warn crash.  Make macro to a comment while building
      * Add WiFiServer
      * Add WiFiUdp
      * Move LWIP-specific support files to LWIP_Ethernet
      * Add WiFi::ping (ICMP ping)
      * Move ICMP echo (ping) to LWIPIntfDev
      * Move hostByName to LwipIntfDev
      * Add AP mode with simple DHCP server
      * Add some examples and basic ESP8266 compat hacks
      * Update Adafruit TinyUSB to fix crash
      * Set DHCP hostname
      * Make Wifi.begin() return CONNECTED with link + IP
      * Return connected() on WiFi::begin
      * Fix spurious TCP retransmission
      * Protect LWIP from reentrancy
      
      The Pico SDK calls "sys_check_timeouts() from inside a periodic interrupt.
      This appears unsafe, as the interrupt could happen while already in the
      (non-reentrant) LWIP code.
      
      Block the interrupt from calling sys_check_timeouts by using a global flag
      manually set via an RAII recursive lock.
      
      Add interrupt protection macros around critical sections inside LWIP via
      the standard defines.
      
      These two changes should make LWIP significantly more stable and long
      running.
      
      * Support disconnecting and reconnecting WiFi
      * Add WiFiServer simple example
      * Update documentation
      
      Fixes #666
      Fixed #665
      abf2c586
  20. 14 Jul, 2022 2 commits
    • Earle F. Philhower, III's avatar
      Fix ::printf/etc. due to mutex size conflict (#677) · c025c4a1
      Earle F. Philhower, III authored
      When real multicore/lockign support was added to newlib, there was an opaque
      field in FILE that was used as a mutex, but was only 4 bytes in size.  The
      recursive mutexes on the RP2040 are 8 bytes.  This mismatch caused corruption
      of the FILE structure and crashes of the system when ::printf/::puts/etc. were
      run.
      
      Adjust the lock field size in FILE to 8 bytes and rebuild the toolchain to
      fix.
      c025c4a1
    • Earle F. Philhower, III's avatar
      Add delay to 2nd core start for Picoprobe (#676) · fb05d969
      Earle F. Philhower, III authored
      No idea why, but when a Picoprobe upload and reset is used, the 2nd core
      does not start w/o a __wfe() call on the first one before launch.
      
      Fixes #674
      Fixes #402
      fb05d969
  21. 08 Jul, 2022 1 commit