#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
- Submit an issue to start the discussion
- Fork the code
- Work in a development branch (named: /dev-name/branch-reason)
- Include tests. (sending a PR with only executing but failing tests is welcomed)
- Send a pull request
- Refine implementation due to reviews if necessary
- 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?