Skip to content

DAlexis/wideusb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WideUSB

Board based on STM32F4 to connect various perepherial over USB. May be useful with single-board computers (SoCs) like Raspberry Pi

Nearest roadmap and tasks

  • Base

    • Check that RingBuffer is thread-safe
    • Something for errors reporting
    • Global error handler and other callbacks - define something understandable
  • Networking

    • Retransmitting to another network devices (works on PC simulation)
    • TimePlanner should return time of next activity
    • Internal transmission without network
    • Struct-based layers parameters
    • Send ack second time if already sended ?
    • Move base64 to communication
  • STM32 Hardware abstraction

    • Devices driver structure: Driver <- Hal driver <- instance with concrete handlers configured by Cube
    • Some kind of RTOS-based light asio analog
  • Device core

  • Modules interface

    • For each module make 'module back' and 'module front'. Front should be avaliable from MCU too.
    • Change folders structure for modules
    • Derive backs from IModule
  • Monitor module

    • Run new stack on board
    • Merge to master: remove old code and files
  • GPS module

    • Fill thimestamp structs with content
  • Asynchronous C++ API

    • Add timeout for operations
  • Synchronous python API

    • Replace condition variable with promise/future and wait_for (No! Timeout shoud be made in another way!) ...
  • DAC module

  • ADC module

  • GPIO module

  • nfr24l01 device

    • Driver abstraction
    • Driver implementation
    • Single device test
    • Double device test
    • Device class code refactoring
      • SPI without IRQ
  • LoRa module

    • Double device test
    • Code refactoring and adaptation
      • Adapt as a class
      • Make physical layer
  • State saving in EEPROM

  • IR transmitter

  • IR receiver

Hardware

  • Gen 1 PCB design

Bugs

  • [?] CRITICAL: LoRa works only if message len > real sending amount - stabilisation with timouts
  • IMPORTANT: sometimes MCU spam inconsistent messages instead of replying by USB. Disabling lock glue fixes the problem... fixed by disabling malloc/free wrappers (NOT FIXED!..)
  • Wrong parameters value: file /home/dalexies/Projects/wideusb/source/stm32/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c on line 171 during HAL_NVIC_SetPriority in HAL_InitTick from HAL_InitTick (uwTickPrio); (stm32f4xx_hal_rcc.c:724) where uwTickPrio is set at uint32_t uwTickPrio = (1UL << __NVIC_PRIO_BITS); /* Invalid PRIO */ - this is generated by Cube
  • malloc(): mismatching next->prev_size (unsorted) on python exit

About

Board based on STM32F4 to connect various perepherial over USB. May be useful for single-board computers (SoCs) like Raspberry Pi

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published