diff options
author | lonkaars <loek@pipeframe.xyz> | 2022-05-27 11:40:05 +0200 |
---|---|---|
committer | lonkaars <loek@pipeframe.xyz> | 2022-05-27 11:40:05 +0200 |
commit | 3bbe41a04b6053a3a3a902384850cfcbd38b0686 (patch) | |
tree | 1385ae4d9ee438a888e1abf4e4e6ac1d6e1801f5 /shared/io.h | |
parent | bfa494588da0def96c42577e284c6d8990eb31f2 (diff) |
move things around and add todo's to robot readme
Diffstat (limited to 'shared/io.h')
-rw-r--r-- | shared/io.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/shared/io.h b/shared/io.h new file mode 100644 index 0000000..584ad1e --- /dev/null +++ b/shared/io.h @@ -0,0 +1,59 @@ +#pragma once + +#include <stdio.h> + +#include "bool.h" + +#pragma pack(push, 1) + +/** momentary button input struct */ +typedef struct { + bool pressed; +} w2_s_i_push; + +/** qtr contrast sensor input struct */ +typedef struct { + uint16_t range; +} w2_s_i_contrast; + +/** distance sensor input struct */ +typedef struct { + uint16_t detection; +} w2_s_i_distance; + +/** battery input struct */ +typedef struct { + uint16_t charge_level; +} w2_s_i_battery; + +/** motor output struct */ +typedef struct { + int16_t speed; +} w2_s_o_motor; + +/** underside led output struct */ +typedef struct { + bool on; +} w2_s_o_led; + +/** lcd output struct */ +typedef struct { + char text[16]; +} w2_s_o_display; + +/** struct containing all i/o */ +typedef struct { + w2_s_i_push button[5]; + w2_s_i_contrast qtr[5]; + w2_s_i_distance front_distance; + w2_s_i_distance side_distance; + w2_s_i_battery battery; + + w2_s_o_motor motor_left; + w2_s_o_motor motor_right; + w2_s_o_led led_red; + w2_s_o_led led_green; + w2_s_o_display lcd; +} w2_s_io_all; + +#pragma pack(pop) |