GAP based TOF Demo

Dependencies:   BLE_API X_NUCLEO_6180XA1 mbed

Fork of BLE_HeartRate_IDB0XA1 by ST

Committer:
hux
Date:
Mon Aug 20 16:42:06 2018 +0000
Revision:
29:0f068d70c1a5
made in Shanghai

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hux 29:0f068d70c1a5 1 // trace.cpp - trace a message depending on verbose level
hux 29:0f068d70c1a5 2 //
hux 29:0f068d70c1a5 3
hux 29:0f068d70c1a5 4 #include "bricks/trace.h"
hux 29:0f068d70c1a5 5
hux 29:0f068d70c1a5 6 static Serial pc(USBTX, USBRX); // serial port to PC terminal
hux 29:0f068d70c1a5 7
hux 29:0f068d70c1a5 8 //==============================================================================
hux 29:0f068d70c1a5 9 // Managing the Verbose Lewvel
hux 29:0f068d70c1a5 10 //==============================================================================
hux 29:0f068d70c1a5 11
hux 29:0f068d70c1a5 12 static int threshold = 0; // verbose threshold, no verbose messages
hux 29:0f068d70c1a5 13
hux 29:0f068d70c1a5 14 void verbose(O&o, int level) // setup verbose level
hux 29:0f068d70c1a5 15 {
hux 29:0f068d70c1a5 16 threshold = level; // update verbose threshold
hux 29:0f068d70c1a5 17 }
hux 29:0f068d70c1a5 18
hux 29:0f068d70c1a5 19 //==============================================================================
hux 29:0f068d70c1a5 20 // Printing Trace Messages
hux 29:0f068d70c1a5 21 //==============================================================================
hux 29:0f068d70c1a5 22
hux 29:0f068d70c1a5 23 void trace(O&o, int level, const char *msg) // trace a message
hux 29:0f068d70c1a5 24 {
hux 29:0f068d70c1a5 25 if (level <= threshold) // update verbose threshold
hux 29:0f068d70c1a5 26 { char buf[2] = " "; // must be terminated
hux 29:0f068d70c1a5 27
hux 29:0f068d70c1a5 28 for (; *msg; msg++)
hux 29:0f068d70c1a5 29 { buf[0] = *msg;
hux 29:0f068d70c1a5 30 pc.printf(buf);
hux 29:0f068d70c1a5 31 if (*msg == '\n')
hux 29:0f068d70c1a5 32 { buf[0] = '\r'; // auto adding carriage return
hux 29:0f068d70c1a5 33 pc.printf(buf);
hux 29:0f068d70c1a5 34 }
hux 29:0f068d70c1a5 35 }
hux 29:0f068d70c1a5 36 }
hux 29:0f068d70c1a5 37 }
hux 29:0f068d70c1a5 38
hux 29:0f068d70c1a5 39 void trace(O&o, int level, const char*format, int value)
hux 29:0f068d70c1a5 40 {
hux 29:0f068d70c1a5 41 char buf[80];
hux 29:0f068d70c1a5 42 if (strlen(format) > 70)
hux 29:0f068d70c1a5 43 trace(o,level," *** buffer overflow *** ");
hux 29:0f068d70c1a5 44 else
hux 29:0f068d70c1a5 45 { sprintf(buf,format,value);
hux 29:0f068d70c1a5 46 trace(o,level,buf);
hux 29:0f068d70c1a5 47 }
hux 29:0f068d70c1a5 48 }
hux 29:0f068d70c1a5 49
hux 29:0f068d70c1a5 50 void traceln(O&o, int level, const char*msg) // trace with CR & LF
hux 29:0f068d70c1a5 51 {
hux 29:0f068d70c1a5 52 trace(o,level,msg); trace(o,level,"\r\n");
hux 29:0f068d70c1a5 53 }