MansOS features
MansOS has support for:
- LEDs
- On Tmote Sky: red, green, and blue
- On Arduino: just yellow
- On Waspmote: red and green
- On SADmote: just red
- Bidirectional serial port communication
- Sending data to serial port
- Reading input from serial port
- Reading sensors
- Light
- Temperature
- Humidity
- Accelerometer and gyroscope
- Data from a GPS device (NMEA stream)
- Other sensors using analogue interface (just specify the correct ADC channel)
- Other sensors using digital I2C interface (write your own driver the particular device you wish to support)
- Hardware access
- I2C protocol (including several versions of software-I2C protocol)
- SPI protocol (including software SPI implementation that uses bit-banging)
- USART port resource arbitration
- Storing data on flash or SD card:
- Optionally, using a file system
- Radio communication
- Packet sending
- Packet receiving
- Measuring the strength of received radio signal in different channels (in this way, a primitive spectrum analyzer can be built!)
- Optionally: TinyOS frame format support
- Optionally: rudimentary 802.15.4 MAC frame format support
- Networking stack
- Sending data to a specific mote in the network
- Sending data to all motes in the network
- Sending data reliably
- Collecting data from the whole network
- Synchronizing time in the whole network
- Management
- Controlling a specific mote by using an application running on computer
- Controlling whole network of motes at once
- Reading the address, serial number, sensor data etc.
- Rebooting the mote, turning LEDs on and off etc.
- Reprogramming the mote, including over-the-air reprogramming
- Parallel execution
- Preemptive multitasking
- Locking (mutual exclusion)
- Optionally, cooperative multitasking (similar to Contiki protothreads)
- Output to LCD display (HD44780-compatible)
- Low power modes
- msleep() and usleep() functions will automatically put the sensor device in low power mdoe