Skip to content

valoni/uScoober

 
 

Repository files navigation

#uScoober The filament for NETMF.

##Use like a Surgeon uScoober is a core set of focused libraries, and a set of features and device drivers delivered as source. You only use what you need, nothing more, no extra bloat on constrained devices. Shared projects (*.shproj) and code (c#) are currently compiled and tested with NETMF v4.2 and v4.3. uScoober consumption via NuGet is the preferred method.

##To Contribute

  1. Submit an issue to start the discussion
  2. Fork the code
  3. Work in a development branch (named: /dev-name/branch-reason)
  4. Include tests. (sending a PR with only executing but failing tests is welcomed)
  5. Send a pull request
  6. Refine implementation due to reviews if necessary
  7. Once agreeded upon, the team will merge the PR

##Develop with the source - (for features and drivers) Directly include the shared project(s) of interest into your external work. (Hint: Create a junction point from the uScoober folder to a path beneath/beside your external work root, then set that path to be ignored by version control.)

##Active Plans for version 1:

###Core - delivered as an assembly

  • one semantic version for the entire Core API (all dlls)
  • NuGet package delivery
  • Interface all the things
  • Data Structures, and core utilities

###Core - Threading - delivered as an assembly

  • TPL like Task API
  • TaskSchedulerForUI
  • Task extensions for UI

###Core - Test Framework - delivered as an assembly

  • xunit inspired testing: facts and theories, constructor setup, IDisposable teardown
  • running in the simulator
  • decent simulator UI
  • running on the hardware, LED UI
  • running on the hardware, Character LCD UI
  • hardware IO mocks
  • mock IIC bus
  • mock SPI bus
  • support async testing via Task implementation
  • Integrated build automation hook.
  • build powershell module for running tests

###Features - delivered as source

  • one semantic version per feature
  • NuGet package delivery - independent packages per feature
  • Binary Tools
  • SPOT based managed IO
  • SPOT based managed multiple device IIC bus
  • SPOT based managed multiple device SPI bus
  • BitBang, software multiple device IIC bus
  • BitBang, software multiple device SPI bus
  • Storage and Path API
  • Boot/AppContainer API (from block storage)
  • [ ]

###Hardware - delivered as source

  • one semantic version per component
  • NuGet package delivery - independent packages per device

####Boards

  • Secret Labs: Netduino
  • GHI: Cerbuino
  • support additional boards

####Drivers

  • LEDs
  • MCP23008/MCP23017 IIC IO Expander
  • AT24C32 Eeprom
  • DS1307 IIC real time clock
  • TinyRTC (DS1307 and AT24C32)

##Future Plans

  • run tests in remote app domain
  • offload results of hardware run tests (aggregate how? network based listener?)
  • support Harnesses (similar to Gadgeteer)
  • support FTDI FT4232HL (GHI Lynx) - as a new .NET 4.5 class library?

Join the chat at https://gitter.im/EddieGarmon/uScoober

About

Core interfaces for NETMF, and Tasks and drivers and other goodies...

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 90.4%
  • PowerShell 6.7%
  • HTML 2.8%
  • Batchfile 0.1%