Logger library howto guide.
Below is a simple program that outlines the usage of the logger library, The whole function was head-written so there might be some errors, but it is more for a live representation of usage than anything else. If someone would write a nice example program feel free to link it here.
simple usage of logger library
#include "mbed.h" #include "logger.h" #include "errno.h" Ticker printout; /** * \def STASH_BUFFER_LEN * size of stash buffer that can be used to store logged data */ #define STASH_BUFFER_LEN 70000 /// stash_buffer size static char stash_buffer[STASH_BUFFER_LEN]; /** * Log_pop_periodic is periodically printing the messages until the buffer is empty. * Once the buffer is empty it detaches and waits for another command. */ void log_pop_periodic(void) { if( log_pop(L_BTSERIAL,stash_buffer,STASH_BUFFER_LEN) == 1 ) { printout.detach(); } } static int i=0; static char read_buffer[20]; /** * read data from BT serial */ void read_from_BT() { if (BTSerial.readable()) { read_buffer[i++] = BTSerial.getc(); // if we read the desired character if (read_buffer[i-1] == 'p') { // start the printout process which will log_pop logged data printout.attach(&log_pop_periodic,0.5); } } } int main() { log_init(L_SERIAL); log_init(L_BTSERIAL); BTSerial.attach(&read_from_BT); // while loop to fill in loads of stinky data while (1) { // read something, then stash it log_stash(L_INFO,print_buffer,strlen(print_buffer),stash_buffer,STASH_BUFFER_LEN); } }