fix col/row.
This commit is contained in:
179
example-fsm-55/gnu.txt
Normal file
179
example-fsm-55/gnu.txt
Normal file
@@ -0,0 +1,179 @@
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
____* 01
|
||||
____* 01
|
||||
____* 01
|
||||
_____ 00
|
||||
|
||||
____* 01
|
||||
___*_ 02
|
||||
___*_ 02
|
||||
___*_ 02
|
||||
____* 01
|
||||
|
||||
___** 03
|
||||
__*__ 04
|
||||
__*__ 04
|
||||
__*__ 04
|
||||
___** 03
|
||||
|
||||
__*** 07
|
||||
_*___ 08
|
||||
_*__* 09
|
||||
_*___ 08
|
||||
__*** 07
|
||||
|
||||
_***_ 0e
|
||||
*____ 10
|
||||
*__** 13
|
||||
*___* 11
|
||||
_***_ 0e
|
||||
|
||||
***__ 1c
|
||||
_____ 00
|
||||
__**_ 06
|
||||
___*_ 02
|
||||
***__ 1c
|
||||
|
||||
**__* 19
|
||||
____* 01
|
||||
_**_* 0d
|
||||
__*_* 05
|
||||
**__* 19
|
||||
|
||||
*__*_ 12
|
||||
__** 03
|
||||
**_*_ 1a
|
||||
_*_*_ 0a
|
||||
*__*_ 12
|
||||
|
||||
__*__ 04
|
||||
_**_ 06
|
||||
*_*_* 15
|
||||
*_*__ 14
|
||||
__*__ 04
|
||||
|
||||
_*___ 08
|
||||
_**__ 0c
|
||||
_*_*_ 0a
|
||||
_*__* 09
|
||||
_*___ 08
|
||||
|
||||
*___* 11
|
||||
**__* 19
|
||||
*_*_* 15
|
||||
*__** 13
|
||||
*___* 11
|
||||
|
||||
___*_ 02
|
||||
*__*_ 12
|
||||
_*_*_ 0a
|
||||
__**_ 06
|
||||
___*_ 02
|
||||
|
||||
__*_* 05
|
||||
__*_* 05
|
||||
*_*_* 15
|
||||
_**_* 0d
|
||||
__*__ 04
|
||||
|
||||
_*_*_ 0a
|
||||
_*_*_ 0a
|
||||
_*_*_ 0a
|
||||
**_*_ 1a
|
||||
_*__* 09
|
||||
|
||||
*_*__ 14
|
||||
*_*__ 14
|
||||
*_*__ 14
|
||||
*_*__ 14
|
||||
*__** 13
|
||||
|
||||
_*___ 08
|
||||
_*___ 08
|
||||
_*___ 08
|
||||
_*___ 08
|
||||
__*** 07
|
||||
|
||||
*___* 11
|
||||
*___* 11
|
||||
*___* 11
|
||||
*___* 11
|
||||
_***_ 0e
|
||||
|
||||
___*_ 02
|
||||
___*_ 02
|
||||
___*_ 02
|
||||
___*_ 02
|
||||
***__ 1c
|
||||
|
||||
__*__ 04
|
||||
__*__ 04
|
||||
__*__ 04
|
||||
__*__ 04
|
||||
**___ 18
|
||||
|
||||
_*___ 08
|
||||
_*___ 08
|
||||
_*___ 08
|
||||
_*___ 08
|
||||
*____ 10
|
||||
|
||||
*___* 11
|
||||
*___* 11
|
||||
*___* 11
|
||||
*____ 10
|
||||
____* 01
|
||||
|
||||
___** 03
|
||||
___** 03
|
||||
___** 03
|
||||
_____ 00
|
||||
___*_ 02
|
||||
|
||||
__**_ 06
|
||||
__**_ 06
|
||||
__**_ 06
|
||||
_____ 00
|
||||
__*__ 04
|
||||
|
||||
_**__ 0c
|
||||
_**__ 0c
|
||||
_**__ 0c
|
||||
_____ 00
|
||||
_*___ 08
|
||||
|
||||
**___ 18
|
||||
**___ 18
|
||||
**___ 18
|
||||
_____ 00
|
||||
*____ 10
|
||||
|
||||
*____ 10
|
||||
*____ 10
|
||||
*____ 10
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
@@ -33,26 +33,27 @@ struct GPIO {
|
||||
#define GPIOF ((struct GPIO *) GPIOF_BASE)
|
||||
|
||||
static struct GPIO *const GPIO_LED = ((struct GPIO *const) GPIO_LED_BASE);
|
||||
|
||||
static struct GPIO *const GPIO_OTHER = ((struct GPIO *const) GPIO_OTHER_BASE);
|
||||
|
||||
static chopstx_mutex_t mtx;
|
||||
static chopstx_cond_t cnd0;
|
||||
static chopstx_cond_t cnd1;
|
||||
|
||||
static uint8_t u;
|
||||
static uint8_t
|
||||
user_button (void)
|
||||
{
|
||||
return (GPIO_OTHER->IDR & 1) == 0;
|
||||
}
|
||||
|
||||
static uint8_t l_data[5];
|
||||
|
||||
static void
|
||||
set_led_display (uint32_t data)
|
||||
{
|
||||
if (data)
|
||||
{
|
||||
l_data[0] = l_data[1] = l_data[2] = l_data[3] = l_data[4] = 0x1f;
|
||||
}
|
||||
else
|
||||
{
|
||||
l_data[0] = l_data[1] = l_data[2] = l_data[3] = l_data[4] = 0x00;
|
||||
}
|
||||
l_data[0] = (data >> 0) & 0x1f;
|
||||
l_data[1] = (data >> 5) & 0x1f;
|
||||
l_data[2] = (data >> 10) & 0x1f;
|
||||
l_data[3] = (data >> 15) & 0x1f;
|
||||
l_data[4] = (data >> 20) & 0x1f;
|
||||
}
|
||||
|
||||
|
||||
@@ -63,17 +64,22 @@ wait_for (uint32_t usec)
|
||||
}
|
||||
|
||||
static void
|
||||
led_prepare_column (uint8_t data)
|
||||
led_prepare_row (uint8_t col)
|
||||
{
|
||||
uint16_t data = 0x1f;
|
||||
|
||||
data |= ((l_data[0] & (1 << col)) ? 1 : 0) << 5;
|
||||
data |= ((l_data[1] & (1 << col)) ? 1 : 0) << 6;
|
||||
data |= ((l_data[2] & (1 << col)) ? 1 : 0) << 7;
|
||||
data |= ((l_data[3] & (1 << col)) ? 1 : 0) << 9;
|
||||
data |= ((l_data[4] & (1 << col)) ? 1 : 0) << 10;
|
||||
GPIO_LED->ODR = data;
|
||||
}
|
||||
|
||||
static void
|
||||
led_enable_row (uint8_t row)
|
||||
led_enable_column (uint8_t col)
|
||||
{
|
||||
static const uint8_t row_to_pin[5] = { 5, 6, 7, 9, 10 };
|
||||
|
||||
GPIO_LED->BSRR = (1 << row_to_pin[row]);
|
||||
GPIO_LED->BRR = (1 << col);
|
||||
}
|
||||
|
||||
static void *
|
||||
@@ -91,8 +97,8 @@ led (void *arg)
|
||||
|
||||
for (i = 0; i < 5; i++)
|
||||
{
|
||||
led_prepare_column (l_data [i]);
|
||||
led_enable_row (i);
|
||||
led_prepare_row (i);
|
||||
led_enable_column (i);
|
||||
wait_for (1000);
|
||||
}
|
||||
}
|
||||
@@ -100,65 +106,110 @@ led (void *arg)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void *
|
||||
blk (void *arg)
|
||||
{
|
||||
(void)arg;
|
||||
|
||||
chopstx_mutex_lock (&mtx);
|
||||
chopstx_cond_wait (&cnd1, &mtx);
|
||||
chopstx_mutex_unlock (&mtx);
|
||||
|
||||
while (1)
|
||||
{
|
||||
set_led_display (0);
|
||||
wait_for (200*1000);
|
||||
set_led_display (u);
|
||||
wait_for (200*1000);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#define PRIO_LED 3
|
||||
#define PRIO_BLK 2
|
||||
|
||||
extern uint8_t __process1_stack_base__, __process1_stack_size__;
|
||||
extern uint8_t __process2_stack_base__, __process2_stack_size__;
|
||||
extern uint8_t __process3_stack_base__, __process3_stack_size__;
|
||||
|
||||
const uint32_t __stackaddr_led = (uint32_t)&__process1_stack_base__;
|
||||
const size_t __stacksize_led = (size_t)&__process1_stack_size__;
|
||||
|
||||
const uint32_t __stackaddr_blk = (uint32_t)&__process2_stack_base__;
|
||||
const size_t __stacksize_blk = (size_t)&__process2_stack_size__;
|
||||
#define DATA55(x0,x1,x2,x3,x4) (x0<<20)|(x1<<15)|(x2<<10)|(x3<< 5)|(x4<< 0)
|
||||
|
||||
static uint32_t l55[20] = {
|
||||
DATA55 (0x08, 0x04, 0x1c, 0x00, 0x00),
|
||||
DATA55 (0x00, 0x14, 0x0c, 0x08, 0x00),
|
||||
DATA55 (0x00, 0x04, 0x14, 0x0c, 0x00),
|
||||
DATA55 (0x00, 0x08, 0x06, 0x0c, 0x00),
|
||||
DATA55 (0x00, 0x04, 0x02, 0x0e, 0x00),
|
||||
DATA55 (0x00, 0x00, 0x0a, 0x06, 0x04),
|
||||
DATA55 (0x00, 0x00, 0x02, 0x0a, 0x06),
|
||||
DATA55 (0x00, 0x00, 0x04, 0x03, 0x06),
|
||||
DATA55 (0x00, 0x00, 0x02, 0x01, 0x07),
|
||||
DATA55 (0x02, 0x00, 0x00, 0x05, 0x03),
|
||||
DATA55 (0x03, 0x00, 0x00, 0x01, 0x05),
|
||||
DATA55 (0x03, 0x00, 0x00, 0x02, 0x11),
|
||||
DATA55 (0x13, 0x00, 0x00, 0x01, 0x10),
|
||||
DATA55 (0x11, 0x01, 0x00, 0x00, 0x12),
|
||||
DATA55 (0x12, 0x11, 0x00, 0x00, 0x10),
|
||||
DATA55 (0x18, 0x11, 0x00, 0x00, 0x01),
|
||||
DATA55 (0x08, 0x19, 0x00, 0x00, 0x10),
|
||||
DATA55 (0x09, 0x18, 0x10, 0x00, 0x00),
|
||||
DATA55 (0x08, 0x09, 0x18, 0x00, 0x00),
|
||||
DATA55 (0x10, 0x0c, 0x18, 0x00, 0x00),
|
||||
};
|
||||
|
||||
static uint32_t gnu[30] = {
|
||||
DATA55 (0x00, 0x00, 0x00, 0x00, 0x00),
|
||||
DATA55 (0x00, 0x01, 0x01, 0x01, 0x00),
|
||||
DATA55 (0x01, 0x02, 0x02, 0x02, 0x01),
|
||||
DATA55 (0x03, 0x04, 0x04, 0x04, 0x03),
|
||||
DATA55 (0x07, 0x08, 0x09, 0x08, 0x07),
|
||||
DATA55 (0x0e, 0x10, 0x13, 0x11, 0x0e),
|
||||
DATA55 (0x1c, 0x00, 0x06, 0x02, 0x1c),
|
||||
DATA55 (0x19, 0x01, 0x0d, 0x05, 0x19),
|
||||
DATA55 (0x12, 0x03, 0x1a, 0x0a, 0x12),
|
||||
DATA55 (0x04, 0x06, 0x15, 0x14, 0x04),
|
||||
DATA55 (0x08, 0x0c, 0x0a, 0x09, 0x08),
|
||||
DATA55 (0x11, 0x19, 0x15, 0x13, 0x11),
|
||||
DATA55 (0x02, 0x12, 0x0a, 0x06, 0x02),
|
||||
DATA55 (0x05, 0x05, 0x15, 0x0d, 0x04),
|
||||
DATA55 (0x0a, 0x0a, 0x0a, 0x1a, 0x09),
|
||||
DATA55 (0x14, 0x14, 0x14, 0x14, 0x13),
|
||||
DATA55 (0x08, 0x08, 0x08, 0x08, 0x07),
|
||||
DATA55 (0x11, 0x11, 0x11, 0x11, 0x0e),
|
||||
DATA55 (0x02, 0x02, 0x02, 0x02, 0x1c),
|
||||
DATA55 (0x04, 0x04, 0x04, 0x04, 0x18),
|
||||
DATA55 (0x08, 0x08, 0x08, 0x08, 0x10),
|
||||
DATA55 (0x11, 0x11, 0x11, 0x10, 0x01),
|
||||
DATA55 (0x03, 0x03, 0x03, 0x00, 0x02),
|
||||
DATA55 (0x06, 0x06, 0x06, 0x00, 0x04),
|
||||
DATA55 (0x0c, 0x0c, 0x0c, 0x00, 0x08),
|
||||
DATA55 (0x18, 0x18, 0x18, 0x00, 0x10),
|
||||
DATA55 (0x10, 0x10, 0x10, 0x00, 0x00),
|
||||
DATA55 (0x00, 0x00, 0x00, 0x00, 0x00),
|
||||
DATA55 (0x00, 0x00, 0x00, 0x00, 0x00),
|
||||
DATA55 (0x00, 0x00, 0x00, 0x00, 0x00),
|
||||
};
|
||||
|
||||
int
|
||||
main (int argc, const char *argv[])
|
||||
{
|
||||
uint8_t state = 0;
|
||||
|
||||
(void)argc;
|
||||
(void)argv;
|
||||
|
||||
chopstx_mutex_init (&mtx);
|
||||
chopstx_cond_init (&cnd0);
|
||||
chopstx_cond_init (&cnd1);
|
||||
|
||||
chopstx_create (PRIO_LED, __stackaddr_led, __stacksize_led, led, NULL);
|
||||
chopstx_create (PRIO_BLK, __stackaddr_blk, __stacksize_blk, blk, NULL);
|
||||
|
||||
chopstx_usec_wait (200*1000);
|
||||
|
||||
chopstx_mutex_lock (&mtx);
|
||||
chopstx_cond_signal (&cnd0);
|
||||
chopstx_cond_signal (&cnd1);
|
||||
chopstx_mutex_unlock (&mtx);
|
||||
|
||||
while (1)
|
||||
{
|
||||
u ^= 1;
|
||||
wait_for (200*1000*6);
|
||||
int i;
|
||||
|
||||
if (state)
|
||||
for (i = 0; i < 20; i++)
|
||||
{
|
||||
if (user_button ())
|
||||
state = 0;
|
||||
set_led_display (l55[i]);
|
||||
wait_for (500*1000);
|
||||
}
|
||||
else
|
||||
for (i = 0; i < 30; i++)
|
||||
{
|
||||
if (user_button ())
|
||||
state = 1;
|
||||
set_led_display (gnu[i]);
|
||||
wait_for (200*1000);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
59
example-fsm-55/hh.txt
Normal file
59
example-fsm-55/hh.txt
Normal file
@@ -0,0 +1,59 @@
|
||||
o...o
|
||||
o...o
|
||||
ooooo
|
||||
o...o
|
||||
o...o
|
||||
|
||||
..o.
|
||||
.o.o.
|
||||
o...o
|
||||
ooooo
|
||||
o...o
|
||||
|
||||
ooooo
|
||||
o...o
|
||||
oooo.
|
||||
o....
|
||||
o....
|
||||
|
||||
o...o
|
||||
o...o
|
||||
.ooo.
|
||||
..o..
|
||||
..o..
|
||||
|
||||
.ooo.
|
||||
o....
|
||||
o....
|
||||
o...o
|
||||
.ooo.
|
||||
|
||||
o..o.
|
||||
o.o..
|
||||
ooo..
|
||||
o..o.
|
||||
o...o
|
||||
|
||||
ooo
|
||||
.o.
|
||||
.o.
|
||||
.o.
|
||||
ooo
|
||||
|
||||
o...o 11
|
||||
oo..o 19
|
||||
o.o.o 15
|
||||
o..oo 13
|
||||
o...o 11
|
||||
|
||||
.ooo. 0e
|
||||
o.... 10
|
||||
o..oo 13
|
||||
o...o 11
|
||||
.ooo. 0e
|
||||
|
||||
oo
|
||||
oo
|
||||
oo
|
||||
..
|
||||
o.
|
||||
217
example-fsm-55/hiroshi-ayumi.c
Normal file
217
example-fsm-55/hiroshi-ayumi.c
Normal file
@@ -0,0 +1,217 @@
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <chopstx.h>
|
||||
|
||||
#include "board.h"
|
||||
|
||||
#define PERIPH_BASE 0x40000000
|
||||
#define APBPERIPH_BASE PERIPH_BASE
|
||||
#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)
|
||||
#define AHBPERIPH_BASE (PERIPH_BASE + 0x20000)
|
||||
#define AHB2PERIPH_BASE (PERIPH_BASE + 0x08000000)
|
||||
|
||||
struct GPIO {
|
||||
volatile uint32_t MODER;
|
||||
volatile uint16_t OTYPER;
|
||||
uint16_t dummy0;
|
||||
volatile uint32_t OSPEEDR;
|
||||
volatile uint32_t PUPDR;
|
||||
volatile uint16_t IDR;
|
||||
uint16_t dummy1;
|
||||
volatile uint16_t ODR;
|
||||
uint16_t dummy2;
|
||||
volatile uint16_t BSRR;
|
||||
uint16_t dummy3;
|
||||
volatile uint32_t LCKR;
|
||||
volatile uint32_t AFR[2];
|
||||
volatile uint16_t BRR;
|
||||
uint16_t dummy4;
|
||||
};
|
||||
#define GPIOA_BASE (AHB2PERIPH_BASE + 0x0000)
|
||||
#define GPIOA ((struct GPIO *) GPIOA_BASE)
|
||||
#define GPIOF_BASE (AHB2PERIPH_BASE + 0x1400)
|
||||
#define GPIOF ((struct GPIO *) GPIOF_BASE)
|
||||
|
||||
static struct GPIO *const GPIO_LED = ((struct GPIO *const) GPIO_LED_BASE);
|
||||
static struct GPIO *const GPIO_OTHER = ((struct GPIO *const) GPIO_OTHER_BASE);
|
||||
|
||||
static chopstx_mutex_t mtx;
|
||||
static chopstx_cond_t cnd0;
|
||||
|
||||
static uint8_t
|
||||
user_button (void)
|
||||
{
|
||||
return (GPIO_OTHER->IDR & 1) == 0;
|
||||
}
|
||||
|
||||
static uint8_t l_data[5];
|
||||
|
||||
static void
|
||||
set_led_display (uint32_t data)
|
||||
{
|
||||
l_data[0] = (data >> 0) & 0x1f;
|
||||
l_data[1] = (data >> 5) & 0x1f;
|
||||
l_data[2] = (data >> 10) & 0x1f;
|
||||
l_data[3] = (data >> 15) & 0x1f;
|
||||
l_data[4] = (data >> 20) & 0x1f;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
wait_for (uint32_t usec)
|
||||
{
|
||||
chopstx_usec_wait (usec);
|
||||
}
|
||||
|
||||
static void
|
||||
led_prepare_row (uint8_t col)
|
||||
{
|
||||
uint16_t data = 0x1f;
|
||||
|
||||
data |= ((l_data[0] & (1 << col)) ? 1 : 0) << 5;
|
||||
data |= ((l_data[1] & (1 << col)) ? 1 : 0) << 6;
|
||||
data |= ((l_data[2] & (1 << col)) ? 1 : 0) << 7;
|
||||
data |= ((l_data[3] & (1 << col)) ? 1 : 0) << 9;
|
||||
data |= ((l_data[4] & (1 << col)) ? 1 : 0) << 10;
|
||||
GPIO_LED->ODR = data;
|
||||
}
|
||||
|
||||
static void
|
||||
led_enable_column (uint8_t col)
|
||||
{
|
||||
GPIO_LED->BRR = (1 << col);
|
||||
}
|
||||
|
||||
static void *
|
||||
led (void *arg)
|
||||
{
|
||||
(void)arg;
|
||||
|
||||
chopstx_mutex_lock (&mtx);
|
||||
chopstx_cond_wait (&cnd0, &mtx);
|
||||
chopstx_mutex_unlock (&mtx);
|
||||
|
||||
while (1)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 5; i++)
|
||||
{
|
||||
led_prepare_row (i);
|
||||
led_enable_column (i);
|
||||
wait_for (1000);
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#define PRIO_LED 3
|
||||
|
||||
extern uint8_t __process1_stack_base__, __process1_stack_size__;
|
||||
|
||||
const uint32_t __stackaddr_led = (uint32_t)&__process1_stack_base__;
|
||||
const size_t __stacksize_led = (size_t)&__process1_stack_size__;
|
||||
|
||||
#define DATA55(x0,x1,x2,x3,x4) (x0<<20)|(x1<<15)|(x2<<10)|(x3<< 5)|(x4<< 0)
|
||||
#define SIZE55(img) (sizeof (img) / sizeof (uint32_t))
|
||||
|
||||
static uint32_t image0[] = {
|
||||
DATA55 (0x00,0x00,0x00,0x00,0x00),
|
||||
DATA55 (0x00,0x01,0x00,0x00,0x00),
|
||||
DATA55 (0x01,0x03,0x01,0x01,0x00),
|
||||
DATA55 (0x02,0x06,0x02,0x02,0x01),
|
||||
DATA55 (0x05,0x0d,0x05,0x05,0x03),
|
||||
DATA55 (0x0b,0x1a,0x0a,0x0a,0x06),
|
||||
DATA55 (0x16,0x14,0x14,0x14,0x0c),
|
||||
DATA55 (0x0d,0x08,0x09,0x08,0x19),
|
||||
DATA55 (0x1b,0x11,0x12,0x10,0x13),
|
||||
DATA55 (0x17,0x03,0x04,0x00,0x07),
|
||||
DATA55 (0x0f,0x06,0x09,0x01,0x0e),
|
||||
DATA55 (0x1e,0x0c,0x12,0x02,0x1c),
|
||||
DATA55 (0x1d,0x19,0x05,0x05,0x18),
|
||||
DATA55 (0x1a,0x12,0x0a,0x0a,0x11),
|
||||
DATA55 (0x14,0x04,0x14,0x14,0x03),
|
||||
DATA55 (0x08,0x08,0x08,0x09,0x06),
|
||||
DATA55 (0x10,0x10,0x10,0x12,0x0c),
|
||||
DATA55 (0x00,0x00,0x00,0x04,0x18),
|
||||
DATA55 (0x00,0x00,0x00,0x08,0x10),
|
||||
DATA55 (0x00,0x00,0x00,0x10,0x00),
|
||||
DATA55 (0x00,0x00,0x00,0x00,0x00),
|
||||
DATA55 (0x00,0x00,0x00,0x00,0x00),
|
||||
DATA55 (0x00,0x00,0x00,0x00,0x00),
|
||||
DATA55 (0x00,0x00,0x00,0x00,0x00),
|
||||
DATA55 (0x00,0x00,0x00,0x00,0x00),
|
||||
};
|
||||
|
||||
static uint32_t image1[] = {
|
||||
DATA55 (0x00,0x00,0x00,0x00,0x00),
|
||||
DATA55 (0x01,0x00,0x00,0x00,0x01),
|
||||
DATA55 (0x03,0x00,0x00,0x01,0x03),
|
||||
DATA55 (0x07,0x01,0x01,0x03,0x06),
|
||||
DATA55 (0x0f,0x02,0x02,0x06,0x0c),
|
||||
DATA55 (0x1f,0x05,0x05,0x0c,0x18),
|
||||
DATA55 (0x1e,0x0a,0x0a,0x18,0x11),
|
||||
DATA55 (0x1d,0x14,0x14,0x10,0x03),
|
||||
DATA55 (0x1b,0x08,0x08,0x00,0x07),
|
||||
DATA55 (0x17,0x11,0x11,0x01,0x0f),
|
||||
DATA55 (0x0e,0x02,0x02,0x02,0x1f),
|
||||
DATA55 (0x1c,0x04,0x04,0x04,0x1e),
|
||||
DATA55 (0x19,0x08,0x09,0x08,0x1d),
|
||||
DATA55 (0x13,0x10,0x13,0x10,0x1b),
|
||||
DATA55 (0x07,0x00,0x07,0x00,0x17),
|
||||
DATA55 (0x0f,0x00,0x0f,0x00,0x0f),
|
||||
DATA55 (0x1e,0x00,0x1e,0x00,0x1e),
|
||||
DATA55 (0x1c,0x00,0x1c,0x00,0x1c),
|
||||
DATA55 (0x18,0x00,0x18,0x00,0x18),
|
||||
DATA55 (0x10,0x00,0x10,0x00,0x10),
|
||||
DATA55 (0x00,0x00,0x00,0x00,0x00),
|
||||
DATA55 (0x00,0x00,0x00,0x00,0x00),
|
||||
DATA55 (0x00,0x00,0x00,0x00,0x00),
|
||||
DATA55 (0x00,0x00,0x00,0x00,0x00),
|
||||
DATA55 (0x00,0x00,0x00,0x00,0x00),
|
||||
};
|
||||
|
||||
int
|
||||
main (int argc, const char *argv[])
|
||||
{
|
||||
uint8_t state = 0;
|
||||
|
||||
(void)argc;
|
||||
(void)argv;
|
||||
|
||||
chopstx_mutex_init (&mtx);
|
||||
chopstx_cond_init (&cnd0);
|
||||
|
||||
chopstx_create (PRIO_LED, __stackaddr_led, __stacksize_led, led, NULL);
|
||||
|
||||
chopstx_usec_wait (200*1000);
|
||||
|
||||
chopstx_mutex_lock (&mtx);
|
||||
chopstx_cond_signal (&cnd0);
|
||||
chopstx_mutex_unlock (&mtx);
|
||||
|
||||
while (1)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
if (state)
|
||||
for (i = 0; i < SIZE55 (image0); i++)
|
||||
{
|
||||
if (user_button ())
|
||||
state = 0;
|
||||
set_led_display (image0[i]);
|
||||
wait_for (200*1000);
|
||||
}
|
||||
else
|
||||
for (i = 0; i < SIZE55 (image1); i++)
|
||||
{
|
||||
if (user_button ())
|
||||
state = 1;
|
||||
set_led_display (image1[i]);
|
||||
wait_for (200*1000);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
119
example-fsm-55/l55.txt
Normal file
119
example-fsm-55/l55.txt
Normal file
@@ -0,0 +1,119 @@
|
||||
_*___ 08
|
||||
__*__ 04
|
||||
***__ 1c
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
*_*__ 14
|
||||
_**__ 0c
|
||||
_*___ 08
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
__*__ 04
|
||||
*_*__ 14
|
||||
_**__ 0c
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
_*__ 08
|
||||
__**_ 06
|
||||
_**__ 0c
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
__*__ 04
|
||||
___*_ 02
|
||||
_***_ 0e
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_*_*_ 0a
|
||||
__**_ 06
|
||||
__*__ 04
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
___*_ 02
|
||||
_*_*_ 0a
|
||||
__**_ 06
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
__*__ 04
|
||||
___** 03
|
||||
__**_ 06
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
__*_ 02
|
||||
____* 01
|
||||
__*** 07
|
||||
|
||||
___*_ 02
|
||||
_____ 00
|
||||
_____ 00
|
||||
__*_* 05
|
||||
___** 03
|
||||
|
||||
___** 03
|
||||
_____ 00
|
||||
_____ 00
|
||||
____* 01
|
||||
__*_* 05
|
||||
|
||||
___** 03
|
||||
_____ 00
|
||||
_____ 00
|
||||
_ _*_ 02
|
||||
*___* 11
|
||||
|
||||
*__** 13
|
||||
_____ 00
|
||||
_____ 00
|
||||
____* 01
|
||||
*____ 10
|
||||
|
||||
*___* 11
|
||||
____* 01
|
||||
_____ 00
|
||||
_____ 00
|
||||
*__*_ 12
|
||||
|
||||
*__*_ 12
|
||||
*___* 11
|
||||
_____ 00
|
||||
_____ 00
|
||||
*____ 10
|
||||
|
||||
**___ 18
|
||||
*___* 11
|
||||
_____ 00
|
||||
_____ 00
|
||||
____* 01
|
||||
|
||||
_*___ 08
|
||||
**__* 19
|
||||
_____ 00
|
||||
_____ 00
|
||||
*____ 10
|
||||
|
||||
_*__* 09
|
||||
**___ 18
|
||||
*____ 10
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
_*___ 08
|
||||
_*__* 09
|
||||
**___ 18
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
*____ 10
|
||||
_**__ 0c
|
||||
**___ 18
|
||||
_____ 00
|
||||
_____ 00
|
||||
287
example-fsm-55/name.txt
Normal file
287
example-fsm-55/name.txt
Normal file
@@ -0,0 +1,287 @@
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
____* 01
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
____* 01
|
||||
___** 03
|
||||
____* 01
|
||||
____* 01
|
||||
_____ 00
|
||||
|
||||
___*_ 02
|
||||
__**_ 06
|
||||
___*_ 02
|
||||
___*_ 02
|
||||
____* 01
|
||||
|
||||
__*_* 05
|
||||
_**_* 0d
|
||||
__*_* 05
|
||||
__*_* 05
|
||||
___** 03
|
||||
|
||||
_*_** 0b
|
||||
**_*_ 1a
|
||||
_*_*_ 0a
|
||||
_*_*_ 0a
|
||||
__**_ 06
|
||||
|
||||
*_**_ 16
|
||||
*_*__ 14
|
||||
*_*__ 14
|
||||
*_*__ 14
|
||||
_**__ 0c
|
||||
|
||||
_**_* 0d
|
||||
_*___ 08
|
||||
_*__* 09
|
||||
_*___ 08
|
||||
**__* 19
|
||||
|
||||
**_** 1b
|
||||
*___* 11
|
||||
*__*_ 12
|
||||
*____ 10
|
||||
*__** 13
|
||||
|
||||
*_*** 17
|
||||
___** 03
|
||||
__*__ 04
|
||||
_____ 00
|
||||
__*** 07
|
||||
|
||||
_**** 0f
|
||||
__**_ 06
|
||||
_*__* 09
|
||||
____* 01
|
||||
_***_ 0e
|
||||
|
||||
****_ 1e
|
||||
_**__ 0c
|
||||
*__*_ 12
|
||||
___*_ 02
|
||||
***__ 1c
|
||||
|
||||
***_* 1d
|
||||
**__* 19
|
||||
__*_* 05
|
||||
__*_* 05
|
||||
**___ 18
|
||||
|
||||
**_*_ 1a
|
||||
*__*_ 12
|
||||
_*_*_ 0a
|
||||
_*_*_ 0a
|
||||
*___* 11
|
||||
|
||||
*_*__ 14
|
||||
__*__ 04
|
||||
*_*__ 14
|
||||
*_*__ 14
|
||||
___** 03
|
||||
|
||||
_*___ 08
|
||||
_*___ 08
|
||||
_*___ 08
|
||||
_*__* 09
|
||||
__**_ 06
|
||||
|
||||
*____ 10
|
||||
*____ 10
|
||||
*____ 10
|
||||
*__*_ 12
|
||||
_**__ 0c
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
__*__ 04
|
||||
**___ 18
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_*___ 08
|
||||
*____ 10
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
*____ 10
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
____* 01
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
____* 01
|
||||
|
||||
___** 03
|
||||
_____ 00
|
||||
_____ 00
|
||||
____* 01
|
||||
___** 03
|
||||
|
||||
__*** 07
|
||||
____* 01
|
||||
____* 01
|
||||
___** 03
|
||||
__**_ 06
|
||||
|
||||
_**** 0f
|
||||
___*_ 02
|
||||
___*_ 02
|
||||
__**_ 06
|
||||
_**__ 0c
|
||||
|
||||
***** 1f
|
||||
__*_* 05
|
||||
__*_* 05
|
||||
_**__ 0c
|
||||
**___ 18
|
||||
|
||||
****_ 1e
|
||||
_*_*_ 0a
|
||||
_*_*_ 0a
|
||||
**___ 18
|
||||
*___* 11
|
||||
|
||||
***_* 1d
|
||||
*_*__ 14
|
||||
*_*__ 14
|
||||
*____ 10
|
||||
___** 03
|
||||
|
||||
**_** 1b
|
||||
_*___ 08
|
||||
_*___ 08
|
||||
_____ 00
|
||||
__*** 07
|
||||
|
||||
*_*** 17
|
||||
*___* 11
|
||||
*___* 11
|
||||
____* 01
|
||||
_**** 0f
|
||||
|
||||
_***_ 0e
|
||||
___*_ 02
|
||||
___*_ 02
|
||||
___*_ 02
|
||||
***** 1f
|
||||
|
||||
***__ 1c
|
||||
__*__ 04
|
||||
__*__ 04
|
||||
__*__ 04
|
||||
****_ 1e
|
||||
|
||||
**__* 19
|
||||
_*___ 08
|
||||
_*__* 09
|
||||
_*___ 08
|
||||
***_* 1d
|
||||
|
||||
*__** 13
|
||||
*____ 10
|
||||
*__** 13
|
||||
*____ 10
|
||||
**_** 1b
|
||||
|
||||
__*** 07
|
||||
_____ 00
|
||||
__*** 07
|
||||
_____ 00
|
||||
*_*** 17
|
||||
|
||||
_**** 0f
|
||||
_____ 00
|
||||
_**** 0f
|
||||
_____ 00
|
||||
_**** 0f
|
||||
|
||||
****_ 1e
|
||||
_____ 00
|
||||
****_ 1e
|
||||
_____ 00
|
||||
****_ 1e
|
||||
|
||||
***__ 1c
|
||||
_____ 00
|
||||
***__ 1c
|
||||
_____ 00
|
||||
***__ 1c
|
||||
|
||||
**___ 18
|
||||
_____ 00
|
||||
**___ 18
|
||||
_____ 00
|
||||
**___ 18
|
||||
|
||||
*____ 10
|
||||
_____ 00
|
||||
*____ 10
|
||||
_____ 00
|
||||
*____ 10
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
_____ 00
|
||||
Reference in New Issue
Block a user