firmware/src/animations.c
// loading animation task with two vertices rotating on the
// outermost segments around the display. infinite loop, kill via handle!
loading animation task with two vertices rotating on the
outermost segments around the display. infinite loop, kill via handle!
loading animation task with two vertices rotating on the outermost segments around the display . infinite loop kill via handle!
void animation_spinner_task(void *arg) {
  TickType_t dl = 80 * portTICK_RATE_MS;
  TickType_t last = xTaskGetTickCount();
  uint16_t intro[][GRIDS] = {
    {     0,     0, 0,     0,     0 },
    {    Aa,     0, 0,     0,    Ad },
  };
  for (int i = 0; i < (sizeof(intro)/sizeof(intro[0])); i++) {
    vfd_raw(intro[i]);
    vTaskDelayUntil(&last, dl);
  }
  uint16_t animation[][GRIDS] = {
    {    Aa,    Aa, 0,    Ad,    Ad },
    {     0, Aa|Ad, 0, Aa|Ad,     0 },
    {    Ad,    Ad, 0,    Aa,    Aa },
    { Ad|Ae,     0, 0,     0, Aa|Ab },
    { Ae|Af,     0, 0,     0, Ab|Ac },
    { Aa|Af,     0, 0,     0, Ac|Ad },
  };
  for (int i = 0;; i = (i + 1) % (sizeof(animation)/sizeof(animation[0]))) {
    vfd_raw(animation[i]);
    vTaskDelayUntil(&last, dl);
  }
}
void animation_spinner_task ( void * arg ) { TickType_t dl = 80 * portTICK_RATE_MS ; TickType_t last = xTaskGetTickCount ( ) ; uint16_t intro [ ] [ GRIDS ] = { { 0 , 0 , 0 , 0 , 0 } , { Aa , 0 , 0 , 0 , Ad } , } ; for ( int i = 0 ; i < ( sizeof ( intro ) / sizeof ( intro [ 0 ] ) ) ; i ++ ) { vfd_raw ( intro [ i ] ) ; vTaskDelayUntil ( & last , dl ) ; } uint16_t animation [ ] [ GRIDS ] = { { Aa , Aa , 0 , Ad , Ad } , { 0 , Aa | Ad , 0 , Aa | Ad , 0 } , { Ad , Ad , 0 , Aa , Aa } , { Ad | Ae , 0 , 0 , 0 , Aa | Ab } , { Ae | Af , 0 , 0 , 0 , Ab | Ac } , { Aa | Af , 0 , 0 , 0 , Ac | Ad } , } ; for ( int i = 0 ; ; i = ( i + 1 ) % ( sizeof ( animation ) / sizeof ( animation [ 0 ] ) ) ) { vfd_raw ( animation [ i ] ) ; vTaskDelayUntil ( & last , dl ) ; } }
loading animation task with two vertices rotating on the
outermost segments around the display.
loading animation task with two vertices rotating on the outermost segments around the display .
// delay between animation frames // animate intro // infinite loop of main animation