https://github.com/grishnov/smlib
State machine prototype
https://github.com/grishnov/smlib
Last synced: 7 months ago
JSON representation
State machine prototype
- Host: GitHub
- URL: https://github.com/grishnov/smlib
- Owner: GRISHNOV
- Created: 2021-04-27T08:44:14.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-04-27T09:14:55.000Z (over 4 years ago)
- Last Synced: 2025-01-28T20:38:26.420Z (8 months ago)
- Language: C
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SMlib
State machine prototype```
gcc -g -O0 -fshort-enums -Wall -Wpedantic SMlib.c SMlibExternalAction.c main.c
./a.out
```# Project files
- main.c – Основной код проекта, из которого будет использоваться библиотека SMlib.
- SMlib.h – Подключается к коду основного проекта. Содержит весь необходимый интерфейс для взаимодействия с библиотекой.
- SMlibExternalAction.h – Описание функций, которые будут вызываться при смене состояний.
- SMlibDeviceConfig.h – Конфигурационный файл конечного автомата устройства.# Output
```
STARTCurrent state code is => 0
Format [stateFrom][stateTo] => isEdgeExist
[0][0] => FALSE
[0][1] => TRUE
[0][2] => FALSE
[1][0] => FALSE
[1][1] => TRUE
[1][2] => TRUE
[2][0] => FALSE
[2][1] => TRUE
[2][2] => FALSEFormat [state][lun] => [RW=0, RO=1, HI=2, AO=3]
[0][0] => 1
[0][1] => 2
[0][2] => 2
[0][3] => 2
[1][0] => 1
[1][1] => 0
[1][2] => 1
[1][3] => 3
[2][0] => 0
[2][1] => 0
[2][2] => 0
[2][3] => 0EXTERNAL FUNCTION: Switching from 0 to 1
SUCCESS: now state is 1
Size 258 bytes
END
```