Better parameter handling (#6)
* Add rx event handlers * Fix compile errors and add constness * Pass sender id * Change api interface * Revert changes * Add filter fifo * Add default setup * Add receive function * Remove interrupt activation * Activate RX interrupts * Merge remote changes * Add event list constructor * Fix compilation bug * Send and receive multiple frames * Refactor * Refactor * Fix compile error * Use known syntax * Refactor * Provide storage * Add frame end * Add some documentation * Turn macros into functions * Refactor * Refactor * Fix compile error * Use ExtendedIds * Fix reception bug (fixes #4) * Add packet headers * Refactor Co-authored-by: Riccardo998 <riccardo.storchi98@gmail.com>
This commit is contained in:
committed by
GitHub
parent
c0cc853cf8
commit
ed2a26fbc9
@@ -15,6 +15,27 @@
|
||||
|
||||
#define min(a, b) ((a) < (b) ? a : b);
|
||||
#define mask(value, bits) (value & bits)
|
||||
#define convertTo(resultType, lvalue) (*interpretAs(resultType*, &(lvalue)))
|
||||
#define interpretAs(resultType, lvalue) ((resultType)(lvalue))
|
||||
|
||||
|
||||
/**
|
||||
* @brief
|
||||
* Represents the result of an asynchronous computation
|
||||
*
|
||||
* Either
|
||||
* - Error: the computation resulted in error
|
||||
* - Pending: the computation is still undergoing
|
||||
* - Completed: the computation has completed succesfully
|
||||
* and its results can be read
|
||||
*
|
||||
* Asynchronous logig can be easily implemented using State Machines
|
||||
*/
|
||||
typedef enum {
|
||||
MMR_ASYNC_RESULT_ERROR,
|
||||
MMR_ASYNC_RESULT_PENDING,
|
||||
MMR_ASYNC_RESULT_COMPLETED,
|
||||
} MmrAsyncResult;
|
||||
|
||||
|
||||
#endif /* INC_MMR_CAN_UTIL_H_ */
|
||||
|
||||
Reference in New Issue
Block a user