Skip to content

dmalnati/picoinf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

504 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PicoInf - Pico Infrastructure Library

This library helps you write high-level event-driven embedded C++ code operating the Raspberry Pi Pico and Pico W.

This library builds on top of the Pico SDK, the FreeRTOS RTOS, and more.

The primary features of this library are:

  • Write C++ applications quickly and easily, don't worry about the fiddly details of the SDK and embedded systems
  • All application code (your code) lives in user-space, no interrupt-context callbacks to worry about
  • All callbacks are based on high-level C++ lambda functions (so, easy to implement)
  • Full C++ STL library support
  • Outputs include .uf2 file for easy sharing of application
  • Convenience APIs for most common Pico SDK operations:
    • Event Manager core
    • Microsecond-precise timers
    • Pin manipulation (and interrupt support)
    • Hardware UART and USB UART streaming
    • Flash storage via LittleFS and native
    • I2C, PWM, Watchdog
    • Clock speed control
    • Bluetooth (BLE) Service and Listener
    • ... and more
  • Higher-level functionality such as:
    • Hardware UART Shell command extensions
    • JSON message handling via USB serial
    • JavaScript execution
    • Microsecond-precise event timeline auditing
    • Arduino shim interface for incorporating external libraries
    • Logging
    • ... and more
  • Application-specific code which should probably live elsewhere, like:
    • GPS module operation
    • WSPR functionality

Note:

  • This is not an Arduino library
  • This is a C++ library, you build your app, you flash directly to the pico via SWD (eg via JLink)
  • There is no further documentation than this README (sorry -- see History)

History:

  • I built this library to support a few other projects not intending to make it visible to others
  • Then I decided to make it visible to others, that's why some things aren't quite perfect

Finally:

  • I hope you find something useful or interesting here
  • Unfortunately no support is available for your use of this library
  • All code subject to change at any time, with no warning, including going private
  • Please see the LICENSE file

Thanks.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors