*****************************************************************************
** ChibiOS/RT port for ARM-Cortex-M4 STM32F401.                            **
*****************************************************************************

** TARGET **

The demo runs on an STM32 Nucleo64-F401RE board board.

** The Demo **

The demo flashes the board LED using a thread, by pressing the button located
on the board the test procedure is activated with output on the serial port
SD2 (USART2, mapped on USB virtual COM port).

Tested with: 
 ST7920 over SPI
 T6963 parallel 8-bit
 KS0108 parallel 8-bit
 Nokia 5110 over SPI

u8g2 Test Project.
Things changed:
.) made chibios176/u8g2 folder plus u8g2.mk

.) copied all of u8g2/csrc to u8g2/src

.) new file src/ch_hal.c and ch_hal.h

.) in main.c: 
  #include "src/ch_hal.h"
  u8g2_t u8g2;
  u8g2_Setup_ssd1306_128x64_noname_f(
          &u8g2,
          U8G2_R0,
          u8g2_ch_spi_byte_cb,
          u8g2_ch_gpio_and_delay_cb);  // init u8g2 structure
  u8g2_InitDisplay(&u8g2); // send init sequence to the display, display is in sleep mode after this,
  u8g2_SetPowerSave(&u8g2, 0); // wake up display
  u8g2_ClearBuffer(&u8g2);
  u8g2_DrawBox(&u8g2, 10,20, 20, 30);
  u8g2_SetFont(&u8g2, u8g2_font_ncenB14_tr);
  u8g2_DrawStr(&u8g2, 0,15,"Hello World!");
  u8g2_SendBuffer(&u8g2);
  
.) in ch_hal.c:
  uint8_t u8g2_ch_gpio_and_delay_cb(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)
  uint8_t u8g2_ch_spi_byte_cb(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)

.) in Makefile include: 
  include ./u8g2/u8g2.mk
  $(U8G2SRC)
  $(U8G2INC)

.) set #define U8G2_16BIT in u8g2.h to TRUE

.) I made a font list (a array of pointer to font) so i can change font with a
   number. The changes are in u8g2_fonts.c (at the end).
   
.) In ch_hal.c is a timer for short delays and the spi interface (if you need one)
   to configure 
   
