Library for use with VL53L0X, cut 1.1, based on mass-market API v1.1.

Dependencies:   ST_INTERFACES X_NUCLEO_COMMON

Dependents:   ConcorsoFinal HelloWorld_IHM01A1 m3pi_BT m3pi_LIDAR ... more

Fork of X_NUCLEO_53L0A1 by ST Expansion SW Team

X-NUCLEO-53L0A1 Proximity Sensor Expansion Board Firmware Package

Introduction

This firmware package includes Component Device Drivers and the Board Support Package for STMicroelectronics' X-NUCLEO-53L0A1 Proximity sensor expansion board based on VL53L0X.

Firmware Library

Class X_NUCLEO_53L0A1 is intended to represent the Proximity sensor expansion board with the same name.

The expansion board provides support for the following components:

  1. on-board VL53L0X proximity sensor,
  2. up to two additional VL53L0X Satellites,
  3. on-board 4-digit display

It is intentionally implemented as a singleton because only one X-NUCLEO-VL53L0A1 may be deployed at a time in a HW component stack. In order to get the singleton instance you have to call class method `Instance()`, e.g.:

// Sensors expansion board singleton instance
static X_NUCLEO_53L0A1 *board = X_NUCLEO_53L0A1::Instance(device_i2c, A2, D8, D2);

Example Applications

The library and sample application code were tested against mbed revision 143, dated 26th May 2017.

Revision:
14:8320b5ff96fa
Parent:
9:367d1f390cb2
Child:
15:44e6c9013bff
diff -r 615f7e38568c -r 8320b5ff96fa Components/Display/Display_class.h
--- a/Components/Display/Display_class.h	Thu Jun 15 13:33:35 2017 +0000
+++ b/Components/Display/Display_class.h	Mon Aug 07 14:30:21 2017 +0000
@@ -72,12 +72,12 @@
     uint32_t u32;       /*!<  single dword i/o view */
 }
 /** cache the extended IO values */
-CurIOVal;
+cur_io_val;
 
 /**
  * lookup table for digit to bit position
  */
-static int  DisplayBitPos[4]={0, 7, 16, 16+7};
+static int  display_bit_posn[4] = {0, 7, 16, 16 + 7};
 
 /**
  * @defgroup XNUCLEO53L0A1_7Segment 7 segment display
@@ -96,22 +96,22 @@
  * @{
  */
 /** decimal point bit mapping*  */
-#define DP  (1<<7)
+#define DP  (1 << 7)
 
 /** sgement s0 bit mapping*/
-#define S0 (1<<3)
+#define S0 (1 << 3)
 /** sgement s1 bit mapping*/
-#define S1 (1<<5)
+#define S1 (1 << 5)
 /** sgement s2 bit mapping*/
-#define S2 (1<<6)
+#define S2 (1 << 6)
 /** sgement s3 bit mapping*/
-#define S3 (1<<4)
+#define S3 (1 << 4)
 /** sgement s4 bit mapping*/
-#define S4 (1<<0)
+#define S4 (1 << 0)
 /** sgement s5 bit mapping*/
-#define S5 (1<<1)
+#define S5 (1 << 1)
 /** sgement s6 bit mapping*/
-#define S6 (1<<2)
+#define S6 (1 << 2)
 
 /**
  * build a character by defining the non lighted segment (not one and no DP)
@@ -133,173 +133,173 @@
  */
 #ifndef __cpluplus
 /* refer to http://www.twyman.org.uk/Fonts/ */
-static const uint8_t ascii_to_display_lut[256]={
-	0,0,0,0,0,0,0,0,
-	0,0,0,0,0,0,0,0,
-	0,0,0,0,0,0,0,0,
-	0,0,0,0,0,0,0,0,
-	[32]=           0,
-	0,0,0,0,0,0,0,0,
-	0,
-	[42]=           NOT_7_NO_DP(),
-	0,0,
-	[45]=           S6,
-	0,0,
-	[48]=           NOT_7_NO_DP(S6),
-	[49]=           S1+S2,
-	[50]=           S0+S1+S6+S4+S3,
-	[51]=           NOT_7_NO_DP(S4+S5),
-	[52]=           S5+S1+S6+S2,
-	[53]=           NOT_7_NO_DP(S1+S4),
-	[54]=           NOT_7_NO_DP(S1),
-	[55]=           S0+S1+S2,
-	[56]=           NOT_7_NO_DP(0),
-	[57]=           NOT_7_NO_DP(S4),
-	0,0,0,
-	[61]=           S3+S6,
-	0,
-	[63]=           NOT_7_NO_DP(S5+S3+S2),
-	[64]=           S0+S3,
-	[65]=           NOT_7_NO_DP(S3),
-	[66]=           NOT_7_NO_DP(S0+S1), /* as b  */
-	[67]=           S0+S3+S4+S5, // same as [
-	[68]=           S0+S3+S4+S5, // same as [ DUMMY
-	[69]=           NOT_7_NO_DP(S1+S2),
-	[70]=           S6+S5+S4+S0,
-	[71]=           NOT_7_NO_DP(S4), /* same as 9 */
-	[72]=           NOT_7_NO_DP(S0+S3),
-	[73]=           S1+S2,
-	[74]=           S1+S2+S3+S4,
-	[75]=           NOT_7_NO_DP(S0+S3), /* same as H */
-	[76]=           S3+S4+S5,
-	[77]=           S0+S4+S2, /* same as  m*/
-	[78]=           S2+S4+S6, /* same as n*/
-	[79]=           NOT_7_NO_DP(S6),
-	[80]=           S0+S1+S2+S5+S6, // sames as 'q'
-	[81]=           NOT_7_NO_DP(S3+S2),
-	[82]=           S4+S6,
-	[83]=           NOT_7_NO_DP(S1+S4), /* sasme as 5 */
-	[84]=           NOT_7_NO_DP(S0+S1+S2), /* sasme as t */
-	[85]=           NOT_7_NO_DP(S6+S0),
-	[86]=           S4+S3+S2, // is u but u use U
-	[87]=           S1+S3+S5,
-	[88]=           NOT_7_NO_DP(S0+S3), // similar to H
-	[89]=           NOT_7_NO_DP(S0+S4),
-	[90]=           S0+S1+S6+S4+S3, // same as 2
-	[91]=           S0+S3+S4+S5,
-	0,
-	[93]=           S0+S3+S2+S1,
-	[94]=           S0, /* use as top bar */
-	[95]=           S3,
-	0,
-	[97]=           S2+ S3+ S4+ S6 ,
-	[98]=           NOT_7_NO_DP(S0+S1),
-	[99]=           S6+S4+S3,
-	[100]=           NOT_7_NO_DP(S0+S5),
-	[101]=           NOT_7_NO_DP(S2),
-	[102]=           S6+S5+S4+S0, /* same as F */
-	[103]=           NOT_7_NO_DP(S4), /* same as 9 */
-	[104]=           S6+S5+S4+S2,
-	[105]=           S4,
-	[106]=           S1+S2+S3+S4,
-	[107]=           S6+S5+S4+S2, /* a h */
-	[108]=           S3+S4,
-	[109]=           S0+S4+S2, /* same as  */
-	[110]=           S2+S4+S6,
-	[111]=           S6+S4+S3+S2,
-	[112]=           NOT_7_NO_DP(S3+S2), // same as P
-	[113]=           S0+S1+S2+S5+S6,
-	[114]=           S4+S6,
-	[115]=           NOT_7_NO_DP(S1+S4),
-	[116]=           NOT_7_NO_DP(S0+S1+S2),
-	[117]=           S4+S3+S2+S5+S1, // U
-	[118]=           S4+S3+S2, // is u but u use U
-	[119]=           S1+S3+S5,
-	[120]=           NOT_7_NO_DP(S0+S3), // similar to H
-	[121]=           NOT_7_NO_DP(S0+S4),
-	[122]=           S0+S1+S6+S4+S3, // same as 2
-	0,0,0,
-	[126]=           S0+S3+S6 /* 3 h bar */
+static const uint8_t ascii_to_display_lut[256] = {
+    0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0,
+    [32] =           0,
+    0, 0, 0, 0, 0, 0, 0, 0,
+    0,
+    [42] =           NOT_7_NO_DP(),
+    0, 0,
+    [45] =           S6,
+    0, 0,
+    [48] =           NOT_7_NO_DP(S6),
+    [49] =           S1 + S2,
+    [50] =           S0 + S1 + S6 + S4 + S3,
+    [51] =           NOT_7_NO_DP(S4 + S5),
+    [52] =           S5 + S1 + S6 + S2,
+    [53] =           NOT_7_NO_DP(S1 + S4),
+    [54] =           NOT_7_NO_DP(S1),
+    [55] =           S0 + S1 + S2,
+    [56] =           NOT_7_NO_DP(0),
+    [57] =           NOT_7_NO_DP(S4),
+    0, 0, 0,
+    [61] =           S3 + S6,
+    0,
+    [63] =           NOT_7_NO_DP(S5 + S3 + S2),
+    [64] =           S0 + S3,
+    [65] =           NOT_7_NO_DP(S3),
+    [66] =           NOT_7_NO_DP(S0 + S1),    /* as b  */
+    [67] =           S0 + S3 + S4 + S5, // same as [
+    [68] =           S0 + S3 + S4 + S5, // same as [ DUMMY
+    [69] =           NOT_7_NO_DP(S1 + S2),
+    [70] =           S6 + S5 + S4 + S0,
+    [71] =           NOT_7_NO_DP(S4),    /* same as 9 */
+    [72] =           NOT_7_NO_DP(S0 + S3),
+    [73] =           S1 + S2,
+    [74] =           S1 + S2 + S3 + S4,
+    [75] =           NOT_7_NO_DP(S0 + S3),    /* same as H */
+    [76] =           S3 + S4 + S5,
+    [77] =           S0 + S4 + S2, /* same as  m*/
+    [78] =           S2 + S4 + S6, /* same as n*/
+    [79] =           NOT_7_NO_DP(S6),
+    [80] =           S0 + S1 + S2 + S5 + S6, // sames as 'q'
+    [81] =           NOT_7_NO_DP(S3 + S2),
+    [82] =           S4 + S6,
+    [83] =           NOT_7_NO_DP(S1 + S4),    /* sasme as 5 */
+    [84] =           NOT_7_NO_DP(S0 + S1 + S2),    /* sasme as t */
+    [85] =           NOT_7_NO_DP(S6 + S0),
+    [86] =           S4 + S3 + S2, // is u but u use U
+    [87] =           S1 + S3 + S5,
+    [88] =           NOT_7_NO_DP(S0 + S3),    // similar to H
+    [89] =           NOT_7_NO_DP(S0 + S4),
+    [90] =           S0 + S1 + S6 + S4 + S3, // same as 2
+    [91] =           S0 + S3 + S4 + S5,
+    0,
+    [93] =           S0 + S3 + S2 + S1,
+    [94] =           S0, /* use as top bar */
+    [95] =           S3,
+    0,
+    [97] =           S2 + S3 + S4 + S6,
+    [98] =           NOT_7_NO_DP(S0 + S1),
+    [99] =           S6 + S4 + S3,
+    [100] =           NOT_7_NO_DP(S0 + S5),
+    [101] =           NOT_7_NO_DP(S2),
+    [102] =           S6 + S5 + S4 + S0, /* same as F */
+    [103] =           NOT_7_NO_DP(S4),    /* same as 9 */
+    [104] =           S6 + S5 + S4 + S2,
+    [105] =           S4,
+    [106] =           S1 + S2 + S3 + S4,
+    [107] =           S6 + S5 + S4 + S2, /* a h */
+    [108] =           S3 + S4,
+    [109] =           S0 + S4 + S2, /* same as  */
+    [110] =           S2 + S4 + S6,
+    [111] =           S6 + S4 + S3 + S2,
+    [112] =           NOT_7_NO_DP(S3 + S2),    // same as P
+    [113] =           S0 + S1 + S2 + S5 + S6,
+    [114] =           S4 + S6,
+    [115] =           NOT_7_NO_DP(S1 + S4),
+    [116] =           NOT_7_NO_DP(S0 + S1 + S2),
+    [117] =           S4 + S3 + S2 + S5 + S1, // U
+    [118] =           S4 + S3 + S2, // is u but u use U
+    [119] =           S1 + S3 + S5,
+    [120] =           NOT_7_NO_DP(S0 + S3),    // similar to H
+    [121] =           NOT_7_NO_DP(S0 + S4),
+    [122] =           S0 + S1 + S6 + S4 + S3, // same as 2
+    0, 0, 0,
+    [126] =           S0 + S3 + S6 /* 3 h bar */
 };
 #else
 /* refer to http://www.twyman.org.uk/Fonts/ */
-static const uint8_t ascii_to_display_lut[256]={
-      [' ']=           0,
-      ['-']=           S6,
-      ['_']=           S3,
-      ['=']=           S3+S6,
-      ['~']=           S0+S3+S6, /* 3 h bar */
-      ['^']=           S0, /* use as top bar */
+static const uint8_t ascii_to_display_lut[256] = {
+    [' '] =           0,
+    ['-'] =           S6,
+    ['_'] =           S3,
+    ['='] =           S3 + S6,
+    ['~'] =           S0 + S3 + S6, /* 3 h bar */
+    ['^'] =           S0, /* use as top bar */
 
-      ['?']=           NOT_7_NO_DP(S5+S3+S2),
-      ['*']=           NOT_7_NO_DP(),
-      ['[']=           S0+S3+S4+S5,
-      [']']=           S0+S3+S2+S1,
-      ['@']=           S0+S3,
+    ['?'] =           NOT_7_NO_DP(S5 + S3 + S2),
+    ['*'] =           NOT_7_NO_DP(),
+    ['['] =           S0 + S3 + S4 + S5,
+    [']'] =           S0 + S3 + S2 + S1,
+    ['@'] =           S0 + S3,
 
-      ['0']=           NOT_7_NO_DP(S6),
-      ['1']=           S1+S2,
-      ['2']=           S0+S1+S6+S4+S3,
-      ['3']=           NOT_7_NO_DP(S4+S5),
-      ['4']=           S5+S1+S6+S2,
-      ['5']=           NOT_7_NO_DP(S1+S4),
-      ['6']=           NOT_7_NO_DP(S1),
-      ['7']=           S0+S1+S2,
-      ['8']=           NOT_7_NO_DP(0),
-      ['9']=           NOT_7_NO_DP(S4),
+    ['0'] =           NOT_7_NO_DP(S6),
+    ['1'] =           S1 + S2,
+    ['2'] =           S0 + S1 + S6 + S4 + S3,
+    ['3'] =           NOT_7_NO_DP(S4 + S5),
+    ['4'] =           S5 + S1 + S6 + S2,
+    ['5'] =           NOT_7_NO_DP(S1 + S4),
+    ['6'] =           NOT_7_NO_DP(S1),
+    ['7'] =           S0 + S1 + S2,
+    ['8'] =           NOT_7_NO_DP(0),
+    ['9'] =           NOT_7_NO_DP(S4),
 
-      ['a']=           S2+ S3+ S4+ S6 ,
-      ['b']=           NOT_7_NO_DP(S0+S1),
-      ['c']=           S6+S4+S3,
-      ['d']=           NOT_7_NO_DP(S0+S5),
-      ['e']=           NOT_7_NO_DP(S2),
-      ['f']=           S6+S5+S4+S0, /* same as F */
-      ['g']=           NOT_7_NO_DP(S4), /* same as 9 */
-      ['h']=           S6+S5+S4+S2,
-      ['i']=           S4,
-      ['j']=           S1+S2+S3+S4,
-      ['k']=           S6+S5+S4+S2, /* a h */
-      ['l']=           S3+S4,
-      ['m']=           S0+S4+S2, /* same as  */
-      ['n']=           S2+S4+S6,
-      ['o']=           S6+S4+S3+S2,
-      ['p']=           NOT_7_NO_DP(S3+S2), // same as P
-      ['q']=           S0+S1+S2+S5+S6,
-      ['r']=           S4+S6,
-      ['s']=           NOT_7_NO_DP(S1+S4),
-      ['t']=           NOT_7_NO_DP(S0+S1+S2),
-      ['u']=           S4+S3+S2+S5+S1, // U
-      ['v']=           S4+S3+S2, // is u but u use U
-      ['w']=           S1+S3+S5,
-      ['x']=           NOT_7_NO_DP(S0+S3), // similar to H
-      ['y']=           NOT_7_NO_DP(S0+S4),
-      ['z']=           S0+S1+S6+S4+S3, // same as 2
+    ['a'] =           S2 + S3 + S4 + S6,
+    ['b'] =           NOT_7_NO_DP(S0 + S1),
+    ['c'] =           S6 + S4 + S3,
+    ['d'] =           NOT_7_NO_DP(S0 + S5),
+    ['e'] =           NOT_7_NO_DP(S2),
+    ['f'] =           S6 + S5 + S4 + S0, /* same as F */
+    ['g'] =           NOT_7_NO_DP(S4),    /* same as 9 */
+    ['h'] =           S6 + S5 + S4 + S2,
+    ['i'] =           S4,
+    ['j'] =           S1 + S2 + S3 + S4,
+    ['k'] =           S6 + S5 + S4 + S2, /* a h */
+    ['l'] =           S3 + S4,
+    ['m'] =           S0 + S4 + S2, /* same as  */
+    ['n'] =           S2 + S4 + S6,
+    ['o'] =           S6 + S4 + S3 + S2,
+    ['p'] =           NOT_7_NO_DP(S3 + S2),    // same as P
+    ['q'] =           S0 + S1 + S2 + S5 + S6,
+    ['r'] =           S4 + S6,
+    ['s'] =           NOT_7_NO_DP(S1 + S4),
+    ['t'] =           NOT_7_NO_DP(S0 + S1 + S2),
+    ['u'] =           S4 + S3 + S2 + S5 + S1, // U
+    ['v'] =           S4 + S3 + S2, // is u but u use U
+    ['w'] =           S1 + S3 + S5,
+    ['x'] =           NOT_7_NO_DP(S0 + S3),    // similar to H
+    ['y'] =           NOT_7_NO_DP(S0 + S4),
+    ['z'] =           S0 + S1 + S6 + S4 + S3, // same as 2
 
-      ['A']=           NOT_7_NO_DP(S3),
-      ['B']=           NOT_7_NO_DP(S0+S1), /* as b  */
-      ['C']=           S0+S3+S4+S5, // same as [
-      ['E']=           NOT_7_NO_DP(S1+S2),
-      ['F']=           S6+S5+S4+S0,
-      ['G']=           NOT_7_NO_DP(S4), /* same as 9 */
-      ['H']=           NOT_7_NO_DP(S0+S3),
-      ['I']=           S1+S2,
-      ['J']=           S1+S2+S3+S4,
-      ['K']=           NOT_7_NO_DP(S0+S3), /* same as H */
-      ['L']=           S3+S4+S5,
-      ['M']=           S0+S4+S2, /* same as  m*/
-      ['N']=           S2+S4+S6, /* same as n*/
-      ['O']=           NOT_7_NO_DP(S6),
-      ['P']=           S0+S1+S2+S5+S6, // sames as 'q'
-      ['Q']=           NOT_7_NO_DP(S3+S2),
-      ['R']=           S4+S6,
-      ['S']=           NOT_7_NO_DP(S1+S4), /* sasme as 5 */
-      ['T']=           NOT_7_NO_DP(S0+S1+S2), /* sasme as t */
-      ['U']=           NOT_7_NO_DP(S6+S0),
-      ['V']=           S4+S3+S2, // is u but u use U
-      ['W']=           S1+S3+S5,
-      ['X']=           NOT_7_NO_DP(S0+S3), // similar to H
-      ['Y']=           NOT_7_NO_DP(S0+S4),
-      ['Z']=           S0+S1+S6+S4+S3 // same as 2
+    ['A'] =           NOT_7_NO_DP(S3),
+    ['B'] =           NOT_7_NO_DP(S0 + S1),    /* as b  */
+    ['C'] =           S0 + S3 + S4 + S5, // same as [
+    ['E'] =           NOT_7_NO_DP(S1 + S2),
+    ['F'] =           S6 + S5 + S4 + S0,
+    ['G'] =           NOT_7_NO_DP(S4),    /* same as 9 */
+    ['H'] =           NOT_7_NO_DP(S0 + S3),
+    ['I'] =           S1 + S2,
+    ['J'] =           S1 + S2 + S3 + S4,
+    ['K'] =           NOT_7_NO_DP(S0 + S3),    /* same as H */
+    ['L'] =           S3 + S4 + S5,
+    ['M'] =           S0 + S4 + S2, /* same as  m*/
+    ['N'] =           S2 + S4 + S6, /* same as n*/
+    ['O'] =           NOT_7_NO_DP(S6),
+    ['P'] =           S0 + S1 + S2 + S5 + S6, // sames as 'q'
+    ['Q'] =           NOT_7_NO_DP(S3 + S2),
+    ['R'] =           S4 + S6,
+    ['S'] =           NOT_7_NO_DP(S1 + S4),    /* sasme as 5 */
+    ['T'] =           NOT_7_NO_DP(S0 + S1 + S2),    /* sasme as t */
+    ['U'] =           NOT_7_NO_DP(S6 + S0),
+    ['V'] =           S4 + S3 + S2, // is u but u use U
+    ['W'] =           S1 + S3 + S5,
+    ['X'] =           NOT_7_NO_DP(S0 + S3),    // similar to H
+    ['Y'] =           NOT_7_NO_DP(S0 + S4),
+    ['Z'] =           S0 + S1 + S6 + S4 + S3 // same as 2
 };
 #endif
 
@@ -315,89 +315,91 @@
 
 /** @} */
 
-//#define DISPLAY_DELAY   1  // in mSec 		
+//#define DISPLAY_DELAY   1  // in mSec
 
 /* Classes -------------------------------------------------------------------*/
 /** Class representing Display
- */ 
+ */
 
 class Display
 {
 private:
-	 STMPE1600 &stmpe1600_exp0;
-	 STMPE1600 &stmpe1600_exp1;
+    Stmpe1600 &stmpe1600_exp0;
+    Stmpe1600 &stmpe1600_exp1;
 public:
-     /** Constructor
-     * @param[in] &stmpe_1600 device handler to be used for display control
-     */    
-    Display (STMPE1600 &stmpe_1600_exp0, STMPE1600 &stmpe_1600_exp1) : stmpe1600_exp0(stmpe_1600_exp0), stmpe1600_exp1(stmpe_1600_exp1) {
-        uint16_t ExpanderData;
+    /** Constructor
+    * @param[in] &stmpe_1600 device handler to be used for display control
+    */
+    Display(Stmpe1600 &stmpe_1600_exp0, Stmpe1600 &stmpe_1600_exp1) : stmpe1600_exp0(stmpe_1600_exp0),
+        stmpe1600_exp1(stmpe_1600_exp1)
+    {
+        uint16_t expander_data;
 
         // detect the extenders
-        stmpe1600_exp0.read16bitReg(0x00, &ExpanderData);
+        stmpe1600_exp0.read_16bit_reg(0x00, &expander_data);
 //        if (ExpanderData != 0x1600) {/* log - failed to find expander exp0 */ }
-        stmpe1600_exp1.read16bitReg(0x00, &ExpanderData);
+        stmpe1600_exp1.read_16bit_reg(0x00, &expander_data);
 //        if (ExpanderData != 0x1600) {/* log - failed to find expander exp1 */ }
 
         // configure all necessary GPIO pins as outputs
-        ExpanderData = 0xFFFF;
-        stmpe1600_exp0.write16bitReg(GPDR, &ExpanderData);
-        ExpanderData = 0xBFFF; // leave bit 14 as an input, for the pushbutton, PB1.
-        stmpe1600_exp1.write16bitReg(GPDR, &ExpanderData);
+        expander_data = 0xFFFF;
+        stmpe1600_exp0.write_16bit_reg(GPDR, &expander_data);
+        expander_data = 0xBFFF; // leave bit 14 as an input, for the pushbutton, PB1.
+        stmpe1600_exp1.write_16bit_reg(GPDR, &expander_data);
 
         // shut down all segment and all device
-        ExpanderData = 0x7F + (0x7F << 7);
-        stmpe1600_exp0.write16bitReg(GPSR, &ExpanderData);
-        stmpe1600_exp1.write16bitReg(GPSR, &ExpanderData);
+        expander_data = 0x7F + (0x7F << 7);
+        stmpe1600_exp0.write_16bit_reg(GPSR, &expander_data);
+        stmpe1600_exp1.write_16bit_reg(GPSR, &expander_data);
     }
-     
-   	/*** Interface Methods ***/
-   	/**
-   	 * @brief       Print the string on display
-   	 * @param[in]   String to be printed
-   	 * @param[in]   String lenght [min 1, max 4]
-   	 * @return      void
-   	 */
-    void DisplayString (const char *str)
+
+    /*** Interface Methods ***/
+    /**
+     * @brief       Print the string on display
+     * @param[in]   String to be printed
+     * @param[in]   String lenght [min 1, max 4]
+     * @return      void
+     */
+    void display_string(const char *str)
     {
-        uint16_t ExpanderData;
-        uint32_t Segments;
-        int BitPos;
+        uint16_t expander_data;
+        uint32_t segments;
+        int bit_posn;
         int i;
 
-        for( i=0; i<4 && str[i]!=0; i++){
-            Segments = (uint32_t)ascii_to_display_lut[(uint8_t)str[i]];
-            Segments =(~Segments)&0x7F;
-            BitPos=DisplayBitPos[i];
-            CurIOVal.u32 &=~(0x7F<<BitPos);
-            CurIOVal.u32 |= Segments<<BitPos;
+        for (i = 0; (i < 4 && str[i] != 0); i++) {
+            segments = (uint32_t) ascii_to_display_lut[(uint8_t) str[i]];
+            segments = (~segments) & 0x7F;
+            bit_posn = display_bit_posn[i];
+            cur_io_val.u32 &= ~(0x7F << bit_posn);
+            cur_io_val.u32 |= segments << bit_posn;
         }
         /* clear unused digit */
-        for( ; i<4;i++){
-            BitPos=DisplayBitPos[i];
-            CurIOVal.u32 |=0x7F<<BitPos;
+        for (; i < 4; i++) {
+            bit_posn = display_bit_posn[i];
+            cur_io_val.u32 |= 0x7F << bit_posn;
         }
 
 //        stmpe1600_exp0.write16bitReg(GPSR, (uint16_t *)&CurIOVal.bytes[0]);
 //        stmpe1600_exp1.write16bitReg(GPSR, (uint16_t *)&CurIOVal.bytes[2]);
 
 // ordered low-byte/high-byte!
-        CurIOVal.bytes[1] |= 0xC0; // ensure highest bits are high, as these are xshutdown pins for left & right sensors!
-        ExpanderData = (CurIOVal.bytes[1] << 8) + CurIOVal.bytes[0];
-        stmpe1600_exp0.write16bitReg(GPSR, &ExpanderData);
-        CurIOVal.bytes[3] |= 0x80; // ensure highest bit is high, as this is xshutdown pin on central sensor!
-        ExpanderData = (CurIOVal.bytes[3] << 8) + CurIOVal.bytes[2];
-        stmpe1600_exp1.write16bitReg(GPSR, &ExpanderData);
+        cur_io_val.bytes[1] |= 0xC0; // ensure highest bits are high, as these are xshutdown pins for left & right sensors!
+        expander_data = (cur_io_val.bytes[1] << 8) + cur_io_val.bytes[0];
+        stmpe1600_exp0.write_16bit_reg(GPSR, &expander_data);
+        cur_io_val.bytes[3] |= 0x80; // ensure highest bit is high, as this is xshutdown pin on central sensor!
+        expander_data = (cur_io_val.bytes[3] << 8) + cur_io_val.bytes[2];
+        stmpe1600_exp1.write_16bit_reg(GPSR, &expander_data);
 
     }
 
-    void ClearDisplay(void)
+    void clear_display(void)
     {
-        uint16_t ExpanderData;
+        uint16_t expander_data;
 
-        ExpanderData = 0x7F + (0x7F << 7);
-        stmpe1600_exp0.write16bitReg(GPSR, &ExpanderData);
-        stmpe1600_exp1.write16bitReg(GPSR, &ExpanderData);
+        expander_data = 0x7F + (0x7F << 7);
+        stmpe1600_exp0.write_16bit_reg(GPSR, &expander_data);
+        stmpe1600_exp1.write_16bit_reg(GPSR, &expander_data);
     }
 
 };