Generic communication interface between the wireless board (mote) and the sensor board. Any kind of sensor board can be connected to the mote using this specification given it provides a SPI peripheral, one input pin with interrupt capability and one digital output. The sensor board must implement a special register set from which all required information can be retrieved. Protocol: http://is.gd/wuQorh Github: http://is.gd/ySj1L9
sens_itf/sens_util.h@1:acdf490d94a7, 2014-04-08 (annotated)
- Committer:
- marcelobarrosalmeida
- Date:
- Tue Apr 08 16:34:20 2014 +0000
- Revision:
- 1:acdf490d94a7
Adding accel to sensor list
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
marcelobarrosalmeida | 1:acdf490d94a7 | 1 | /** |
marcelobarrosalmeida | 1:acdf490d94a7 | 2 | @file sens_util.h |
marcelobarrosalmeida | 1:acdf490d94a7 | 3 | @brief Utilities routines |
marcelobarrosalmeida | 1:acdf490d94a7 | 4 | */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 5 | #ifndef __SENS_UTIL__ |
marcelobarrosalmeida | 1:acdf490d94a7 | 6 | #define __SENS_UTIL__ |
marcelobarrosalmeida | 1:acdf490d94a7 | 7 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 8 | #ifdef __cplusplus |
marcelobarrosalmeida | 1:acdf490d94a7 | 9 | extern "C" { |
marcelobarrosalmeida | 1:acdf490d94a7 | 10 | #endif |
marcelobarrosalmeida | 1:acdf490d94a7 | 11 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 12 | /** |
marcelobarrosalmeida | 1:acdf490d94a7 | 13 | @defgroup OSUTIL Utilities |
marcelobarrosalmeida | 1:acdf490d94a7 | 14 | @ingroup OSGLOBALS |
marcelobarrosalmeida | 1:acdf490d94a7 | 15 | @{ |
marcelobarrosalmeida | 1:acdf490d94a7 | 16 | */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 17 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 18 | /** |
marcelobarrosalmeida | 1:acdf490d94a7 | 19 | Assertion like function. |
marcelobarrosalmeida | 1:acdf490d94a7 | 20 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 21 | @param cond Assertion condition. |
marcelobarrosalmeida | 1:acdf490d94a7 | 22 | */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 23 | extern void sens_util_assert(int cond); |
marcelobarrosalmeida | 1:acdf490d94a7 | 24 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 25 | /** |
marcelobarrosalmeida | 1:acdf490d94a7 | 26 | Message log utility. |
marcelobarrosalmeida | 1:acdf490d94a7 | 27 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 28 | @param cond Logs only when the condition is true. |
marcelobarrosalmeida | 1:acdf490d94a7 | 29 | @param line Variable parameters list like printf. |
marcelobarrosalmeida | 1:acdf490d94a7 | 30 | */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 31 | extern void sens_util_log(int cond, const uint8_t *line, ...); |
marcelobarrosalmeida | 1:acdf490d94a7 | 32 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 33 | /** |
marcelobarrosalmeida | 1:acdf490d94a7 | 34 | Start log. |
marcelobarrosalmeida | 1:acdf490d94a7 | 35 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 36 | @retval 1 Log not started. |
marcelobarrosalmeida | 1:acdf490d94a7 | 37 | @retval 0 Log started. |
marcelobarrosalmeida | 1:acdf490d94a7 | 38 | */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 39 | extern int sens_util_log_start(void); |
marcelobarrosalmeida | 1:acdf490d94a7 | 40 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 41 | /** |
marcelobarrosalmeida | 1:acdf490d94a7 | 42 | Stop log . |
marcelobarrosalmeida | 1:acdf490d94a7 | 43 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 44 | @retval 1 Log not stopped. |
marcelobarrosalmeida | 1:acdf490d94a7 | 45 | @retval 0 Log stopped. |
marcelobarrosalmeida | 1:acdf490d94a7 | 46 | */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 47 | extern int sens_util_log_stop(void); |
marcelobarrosalmeida | 1:acdf490d94a7 | 48 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 49 | /** |
marcelobarrosalmeida | 1:acdf490d94a7 | 50 | Remove path and return only the file name. |
marcelobarrosalmeida | 1:acdf490d94a7 | 51 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 52 | @param filename file with full path name |
marcelobarrosalmeida | 1:acdf490d94a7 | 53 | @return filename without path |
marcelobarrosalmeida | 1:acdf490d94a7 | 54 | */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 55 | extern const uint8_t *sens_util_strip_path(const uint8_t *filename); |
marcelobarrosalmeida | 1:acdf490d94a7 | 56 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 57 | /** |
marcelobarrosalmeida | 1:acdf490d94a7 | 58 | Print a buffer in hexadecimal (16 byte per row). |
marcelobarrosalmeida | 1:acdf490d94a7 | 59 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 60 | @param data Data to be printed. |
marcelobarrosalmeida | 1:acdf490d94a7 | 61 | @param len Data length. |
marcelobarrosalmeida | 1:acdf490d94a7 | 62 | */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 63 | extern void sens_util_dump_frame(const uint8_t *const data, int len); |
marcelobarrosalmeida | 1:acdf490d94a7 | 64 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 65 | /** |
marcelobarrosalmeida | 1:acdf490d94a7 | 66 | @def SENS_UTIL_ASSERT |
marcelobarrosalmeida | 1:acdf490d94a7 | 67 | @brief Assertion macro |
marcelobarrosalmeida | 1:acdf490d94a7 | 68 | */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 69 | #define SENS_UTIL_ASSERT(cond) sens_util_assert( !!(cond) ) |
marcelobarrosalmeida | 1:acdf490d94a7 | 70 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 71 | /**@}*/ |
marcelobarrosalmeida | 1:acdf490d94a7 | 72 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 73 | #ifdef __cplusplus |
marcelobarrosalmeida | 1:acdf490d94a7 | 74 | } |
marcelobarrosalmeida | 1:acdf490d94a7 | 75 | #endif |
marcelobarrosalmeida | 1:acdf490d94a7 | 76 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 77 | #endif /* __SENS_UTIL__ */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 78 |