Difference between revisions of "MansOS API"
(31 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | {{TocRight}} | ||
== LEDs == | == LEDs == | ||
− | + | See [[MansOS LEDs | LED Reference]]. | |
− | |||
− | |||
− | |||
− | + | == Humidity sensor == | |
− | + | See [[MansOS_Humidity | Humidity Reference]]. | |
− | |||
− | + | == Light sensor == | |
− | + | mos/hil/light.h | |
− | |||
− | + | void lightInit(); // init light sensor, do not turn it on - called by kernel automatically, not needed in application | |
− | + | void lightOn(); // turn on light sensor | |
− | + | void lightOff(); // turn off light sensor | |
+ | uint16_t readLight(); // read light value | ||
− | + | uint16_t readTotalLight(); // read light | |
− | + | uint16_t readPARLight(); // read photo-syntetically active radiation value | |
== ADC == | == ADC == | ||
− | + | mos/hil/adc.h | |
− | + | ||
+ | void adcOn(); | ||
+ | void adcOff(); | ||
+ | |||
+ | uint16_t adcRead(uint8_t channel); // sets channel, reads value | ||
+ | |||
+ | // alternative faster version: set channel once, read multiple times (usable, if the same channel read many times) | ||
+ | void adcSetChannel(uint8_t ch); | ||
+ | uint16_t adcReadFast(); | ||
+ | |||
+ | uint8_t adcGetChannelCount() // returns ADC channel count provided by the platform | ||
+ | |||
+ | == Radio == | ||
+ | |||
+ | See [[MansOS_Radio | Radio Reference]]. | ||
== Sleep == | == Sleep == | ||
+ | mos/hil/sleep.h | ||
+ | |||
+ | mleep(miliseconds) | ||
− | |||
== USART == | == USART == | ||
+ | See mos/hil/usart.h for more details! | ||
+ | |||
+ | uint_t USARTInit(uint8_t id, uint32_t speed, uint8_t conf); | ||
+ | |||
+ | uint_t USARTSendByte(uint8_t id, uint8_t data); | ||
+ | uint_t USARTSendString(uint8_t id, uint8_t *data); | ||
+ | uint_t USARTSendStringLine(uint8_t id, uint8_t *data); | ||
+ | void USARTSendData(uint8_t id, uint8_t *data, uint16_t len); | ||
+ | |||
+ | uint_t USARTEnableTX(uint8_t id); | ||
+ | uint_t USARTDisableTX(uint8_t id); | ||
+ | uint_t USARTEnableRX(uint8_t id); | ||
+ | uint_t USARTDisableRX(uint8_t id); | ||
+ | |||
+ | /** | ||
+ | * Set callback function for per-byte data receive. The callback is called | ||
+ | * on every received packet | ||
+ | * @param id - ID of the UART used (See MCU datasheet to get IDs) | ||
+ | * @param cb - callback function: void myCallback(uint8_t byte) | ||
+ | */ | ||
+ | uint_t USARTSetReceiveHandle(uint8_t id, USARTCallback_t cb); | ||
− | + | /** | |
+ | * Set callback for per-packet data receive. Stores the received bytes in | ||
+ | * the buffer and the callback is called when either a newline is received | ||
+ | * ('\n', binary value 10) or at most len bytes are received. The newline is | ||
+ | * also stored in the buffer | ||
+ | * Also enables USART RX automatically. | ||
+ | * After the callback, buffer is reset and reception restarts. | ||
+ | * Warning: Can use only one USART at a time (single buffer, single handler)! | ||
+ | * | ||
+ | * @param id - ID of the UART used (See MCU datasheet to get IDs) | ||
+ | * @param cb - callback function: void myCallback(uint8_t bytes). Here the | ||
+ | * bytes parameter contains not the last byte received but | ||
+ | * total received byte count (i.e., bytes stored in the buffer)! | ||
+ | * @param len - size of the buffer in bytes. Callback is called when len | ||
+ | * bytes are received (or when '\n' is received). | ||
+ | * When len is zero, no packet size is checked, only on newline | ||
+ | * reception the callback is called. | ||
+ | */ | ||
+ | uint_t USARTSetPacketReceiveHandle(uint8_t id, USARTCallback_t cb, void *buffer, | ||
+ | uint16_t len); |
Latest revision as of 15:37, 15 October 2014
LEDs
See LED Reference.
Humidity sensor
See Humidity Reference.
Light sensor
mos/hil/light.h
void lightInit(); // init light sensor, do not turn it on - called by kernel automatically, not needed in application void lightOn(); // turn on light sensor void lightOff(); // turn off light sensor uint16_t readLight(); // read light value
uint16_t readTotalLight(); // read light uint16_t readPARLight(); // read photo-syntetically active radiation value
ADC
mos/hil/adc.h
void adcOn(); void adcOff();
uint16_t adcRead(uint8_t channel); // sets channel, reads value
// alternative faster version: set channel once, read multiple times (usable, if the same channel read many times) void adcSetChannel(uint8_t ch); uint16_t adcReadFast();
uint8_t adcGetChannelCount() // returns ADC channel count provided by the platform
Radio
See Radio Reference.
Sleep
mos/hil/sleep.h
mleep(miliseconds)
USART
See mos/hil/usart.h for more details!
uint_t USARTInit(uint8_t id, uint32_t speed, uint8_t conf);
uint_t USARTSendByte(uint8_t id, uint8_t data); uint_t USARTSendString(uint8_t id, uint8_t *data); uint_t USARTSendStringLine(uint8_t id, uint8_t *data); void USARTSendData(uint8_t id, uint8_t *data, uint16_t len);
uint_t USARTEnableTX(uint8_t id); uint_t USARTDisableTX(uint8_t id); uint_t USARTEnableRX(uint8_t id); uint_t USARTDisableRX(uint8_t id);
/** * Set callback function for per-byte data receive. The callback is called * on every received packet * @param id - ID of the UART used (See MCU datasheet to get IDs) * @param cb - callback function: void myCallback(uint8_t byte) */ uint_t USARTSetReceiveHandle(uint8_t id, USARTCallback_t cb);
/** * Set callback for per-packet data receive. Stores the received bytes in * the buffer and the callback is called when either a newline is received * ('\n', binary value 10) or at most len bytes are received. The newline is * also stored in the buffer * Also enables USART RX automatically. * After the callback, buffer is reset and reception restarts. * Warning: Can use only one USART at a time (single buffer, single handler)! * * @param id - ID of the UART used (See MCU datasheet to get IDs) * @param cb - callback function: void myCallback(uint8_t bytes). Here the * bytes parameter contains not the last byte received but * total received byte count (i.e., bytes stored in the buffer)! * @param len - size of the buffer in bytes. Callback is called when len * bytes are received (or when '\n' is received). * When len is zero, no packet size is checked, only on newline * reception the callback is called. */ uint_t USARTSetPacketReceiveHandle(uint8_t id, USARTCallback_t cb, void *buffer, uint16_t len);