10 #include <robottype.h>
11 #include <robottype_eb2008.h>
13 #include "uoled_config.h"
15 #ifdef CONFIG_DEBUG_UOLED
19 static struct sercom_data sercom;
21 struct sercom_data* uoled_init(void(*sighandler)(int))
23 strcpy((char *)&sercom.devname, CONFIG_UOLED_TTY);
24 sercom.baudrate = 2400;
25 sercom.parity = SERCOM_PARNONE;
29 sercom.sighandler = sighandler;
34 int uoled_write_cmd(uint8_t *buff, int size)
40 printf("sending command: ");
42 printf("%d ",buff[i]);
46 ret = write(sercom.fd, buff, size);
48 printf("uoled: WRITE FAILED!!!!!!!!!!!!!!!\n");
55 int uoled_switch_mode_rep(uint8_t mode, uint8_t status)
58 uint8_t msg[SWITCH_MODE_MSG_SIZE];
60 oled_switch_mode(msg, SWITCH_MODE_MSG_SIZE, mode, status);
62 ret = uoled_write_cmd(msg, SWITCH_MODE_MSG_SIZE);
70 int uoled_set_balls(uint8_t *balls)
73 uint8_t msg[BALLS_MSG_SIZE];
75 oled_set_balls(msg, BALLS_MSG_SIZE, balls);
77 ret = uoled_write_cmd(msg, BALLS_MSG_SIZE);
85 int uoled_send_voltage(struct pwr_voltage_type *volt)
88 uint8_t msg[VOLTAGE_MSG_SIZE];
90 oled_send_voltage(msg, VOLTAGE_MSG_SIZE, volt);
92 ret = uoled_write_cmd(msg, VOLTAGE_MSG_SIZE);
99 int uoled_set_color(uint8_t color)
102 uint8_t msg[COLOR_MSG_SIZE];
104 oled_set_color(msg, COLOR_MSG_SIZE, color);
106 ret = uoled_write_cmd(msg, COLOR_MSG_SIZE);
113 int uoled_send_position(struct est_pos_type *pos)
116 uint8_t msg[POSITION_MSG_SIZE];
118 oled_send_position(msg, POSITION_MSG_SIZE, pos);
120 ret = uoled_write_cmd(msg, POSITION_MSG_SIZE);
128 int uoled_send_hw_status(uint8_t *status)
131 uint8_t msg[HW_STATUS_MSG_SIZE];
133 oled_send_hw_status(msg, HW_STATUS_MSG_SIZE, status);
135 ret = uoled_write_cmd(msg, HW_STATUS_MSG_SIZE);
141 int uoled_send_state(const char *name, int len)
146 oled_send_fsm_state(msg, len+3, name, len);
148 ret = uoled_write_cmd(msg, len+3);