This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
projects:crazyflie:firmware:log [2012-10-07 13:37] arnaud created |
projects:crazyflie:firmware:log [2021-06-24 16:49] kimberly |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | <WRAP center round important 60%> | ||
+ | This page has deprecated and will be archived. Please go to [[https:// | ||
+ | </ | ||
====== Crazyflie LOG subsystem ====== | ====== Crazyflie LOG subsystem ====== | ||
- | The Crazyflie log system is design in such a way that the copter firmware is mostly | + | The purpose of the logging is to be able to log variables that are available in the copter during runtime. |
This mechanism is used both for regular log operation (ie. user requested log to inspect and debug flight data) but also to update indication in the GUI application. | This mechanism is used both for regular log operation (ie. user requested log to inspect and debug flight data) but also to update indication in the GUI application. | ||
+ | Each variable to log is contained in a group group and has a name. The system is designed to make it easy to add a log variable in the Firmware and have it available in the ground station GUI: | ||
+ | {{: | ||
+ | |||
+ | ===== Firmware usage ===== | ||
+ | |||
+ | A couple of macros are declared in //log.h// to define new log variables. All log variables should be in a log group. Example: | ||
+ | |||
+ | <code style=" | ||
+ | LOG_GROUP_START(stabilizer) | ||
+ | LOG_ADD(LOG_FLOAT, | ||
+ | LOG_ADD(LOG_FLOAT, | ||
+ | LOG_ADD(LOG_FLOAT, | ||
+ | LOG_GROUP_STOP(stabilizer) | ||
+ | </ | ||
+ | |||
+ | ^ Macro ^ Usage ^ | ||
+ | | LOG_GROUP_START(grp_name) | ||
+ | | LOG_GROUP_STOP(grp_name) | ||
+ | | LOG_ADD(type, | ||
+ | |||
+ | ^ Type defines ^ Corresponding C99 type ^ Note ^ | ||
+ | | LOG_UINT8 | ||
+ | | LOG_UINT16 | ||
+ | | LOG_UINT32 | ||
+ | | LOG_INT8 | ||
+ | | LOG_INT16 | ||
+ | | LOG_INT32 | ||
+ | | LOG_FLOAT | ||
+ | | LOG_FP16 |