From 4b0babc1b1daaece0d8de672f98adaf6cff5cdac Mon Sep 17 00:00:00 2001 From: Michael Buesch Date: Sat, 18 Oct 2008 23:47:05 +0200 Subject: Add a loooot of stuff to pressure_control Signed-off-by: Michael Buesch --- pressure_control/firmware/remote.h | 68 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 pressure_control/firmware/remote.h (limited to 'pressure_control/firmware/remote.h') diff --git a/pressure_control/firmware/remote.h b/pressure_control/firmware/remote.h new file mode 100644 index 0000000..af18abf --- /dev/null +++ b/pressure_control/firmware/remote.h @@ -0,0 +1,68 @@ +#ifndef REMOTE_H_ +#define REMOTE_H_ + +#include + +#include + + +enum remote_message_id { + MSG_INVALID = 0, /* Discard me */ + MSG_ERROR, + MSG_LOGMESSAGE, + MSG_PING, + MSG_PONG, + MSG_GET_CURRENT_PRESSURE, + MSG_CURRENT_PRESSURE, + MSG_GET_DESIRED_PRESSURE, + MSG_DESIRED_PRESSURE, + MSG_SET_DESIRED_PRESSURE, + MSG_GET_HYSTERESIS, + MSG_HYSTERESIS, + MSG_SET_HYSTERESIS, + MSG_GET_CONFIG_FLAGS, + MSG_CONFIG_FLAGS, + MSG_SET_CONFIG_FLAGS, +}; + +enum remote_message_error { + MSG_ERR_NONE = 0, + MSG_ERR_CHKSUM, +}; + +enum remote_message_config_flags { + CFG_FLAG_AUTOADJUST_ENABLE = 0, +}; + +struct remote_message { + uint8_t id; + uint8_t __padding0[3]; + + union { + struct { + uint8_t code; + } __attribute__((packed)) error; + struct { + char str[32]; + } __attribute__((packed)) logmessage; + struct { + uint16_t mbar; + } __attribute__((packed)) pressure; + struct { + uint32_t flags; + } __attribute__((packed)) config; + + uint8_t __padding1[32]; + } __attribute__((packed)); + + uint16_t crc; +} __attribute__((packed)); + + +void print_pgm(const prog_char *msg); +#define print(string_literal) print_pgm(PSTR(string_literal)) + +void remote_work(void); +void remote_init(void); + +#endif /* REMOTE_H_ */ -- cgit v1.2.3