Links

ei_printf_float()

void ei_printf_float(float f);
Brief: Override this function if your target cannot properly print floating points. If not overriden, this will be sent through ei_printf().
Blocking: Depends on user implementation
Description: ei_printf_float() is declared internally in the Edge Impulse SDK library, and the function must be defined by the user.
Some platforms cannot handle directly printing floating point numbers (e.g. to a console or over a serial port). If your platform cannot directly print floats, provide an implementation of this function to print them as needed (for example, construct a string containing scientific notation with integers and call ei_printf()).
If your platform can print floating point values, the easiest implementation of this function is as follows:
__attribute__((weak)) void ei_printf_float(float f) {
printf("%f", f);
}
Note the __attribute__((weak)) symbol, which means that a user could override the implementation elsewhere in the program.
Parameters:
  • f - [input] Floating point number to be printed.
Example:
  • This Arduino example demonstrates how to implement this function on a platform that can print floating point values.
  • This STM32 example demonstrates how to implement this function on platform that cannot print floating point values.