Rev 1459 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1459 | Rev 1460 | ||
---|---|---|---|
Line 33... | Line 33... | ||
33 | ISR(USART_RXC_vect) { |
33 | ISR(USART_RXC_vect) { |
Line 34... | Line 34... | ||
34 | 34 | ||
Line 35... | Line 35... | ||
35 | if (rx_pos < RX_BUFFER_SZ) { |
35 | if (rx_pos < RX_BUFFER_SZ) { |
36 | 36 | ||
37 | uint8_t i = UDR; |
37 | uint8_t i = UDR; |
Line 38... | Line 38... | ||
38 | 38 | ||
Line 39... | Line 39... | ||
39 | uart_putchar(i); |
39 | uart_putchar(i); |
Line 46... | Line 46... | ||
46 | rx_pos = 0; |
46 | rx_pos = 0; |
Line 47... | Line 47... | ||
47 | 47 | ||
48 | if (!strcasecmp(rx_buffer, "HELP")) { |
48 | if (!strcasecmp(rx_buffer, "HELP")) { |
49 | printf("DISPLAY Display servo settings\n" |
49 | printf("DISPLAY Display servo settings\n" |
50 | "EXPORT Export srvo settings\n" |
50 | "EXPORT Export srvo settings\n" |
51 | "SET s=n,l,u Set servo settings\n" |
51 | "SET s=n[,l,u] Set servo settings\n" |
52 | " s = servo number (1-6)\n" |
52 | " s = servo number (1-6)\n" |
53 | " n = neutral position (0-255)\n" |
53 | " n = neutral position (0-255)\n" |
54 | " l = lower limit (0-255)\n" |
54 | " l = lower limit (0-255)\n" |
55 | " u = upper limit (0-255)\n" |
55 | " u = upper limit (0-255)\n" |
56 | "LOAD Load settings from eeprom\n" |
56 | "LOAD Load settings from eeprom\n" |
57 | "SAVE Write settings to eeprom\n"); |
57 | "SAVE Write settings to eeprom\n"); |
58 | } else if (!strcasecmp(rx_buffer, "DISPLAY")) { |
58 | } else if (!strcasecmp(rx_buffer, "DISPLAY")) { |
59 | for(i = 0; i < 6; i++) { |
59 | for(i = 0; i < 6; i++) { |
60 | printf("SERVO %d, NEUTRAL %d, LIMIT %d-%d\n", |
60 | printf("SERVO %d, NEUTRAL %d, LIMIT %d-%d\n", |
61 | (i + 1), |
61 | (i + 1), |
62 | (pwm_neutral_position[i]), |
62 | (pwm_neutral_position[i]), |
63 | (pwm_limit[i] & 0xff), |
63 | (pwm_limit[i] & 0xff), |
64 | (pwm_limit[i] >> 8) |
64 | (pwm_limit[i] >> 8) |
65 | ); |
65 | ); |
66 | } |
66 | } |
67 | } else if (!strcasecmp(rx_buffer, "EXPORT")) { |
67 | } else if (!strcasecmp(rx_buffer, "EXPORT")) { |
68 | for(i = 0; i < 6; i++) { |
68 | for(i = 0; i < 6; i++) { |
69 | printf("SET %d=%d,%d,%d\n", |
69 | printf("SET %d=%d,%d,%d\n", |
70 | (i + 1), |
70 | (i + 1), |
71 | (pwm_neutral_position[i]), |
71 | (pwm_neutral_position[i]), |
72 | (pwm_limit[i] & 0xff), |
72 | (pwm_limit[i] & 0xff), |
73 | (pwm_limit[i] >> 8) |
73 | (pwm_limit[i] >> 8) |
74 | ); |
74 | ); |
75 | } |
75 | } |
76 | } else if (!strcasecmp(rx_buffer, "LOAD")) { |
76 | } else if (!strcasecmp(rx_buffer, "LOAD")) { |
Line 103... | Line 103... | ||
103 | h = 0xff; |
103 | h = 0xff; |
104 | } |
104 | } |
105 | } |
105 | } |
106 | pwm_limit[servo] = (h << 8) | l; |
106 | pwm_limit[servo] = (h << 8) | l; |
107 | i = servo; |
107 | i = servo; |
108 | printf("SERVO %d, NEUTRAL %d, LIMIT %d-%d\n", |
108 | printf("SERVO %d, NEUTRAL %d, LIMIT %d-%d\n", |
109 | (i + 1), |
109 | (i + 1), |
110 | (pwm_neutral_position[i]), |
110 | (pwm_neutral_position[i]), |
111 | (pwm_limit[i] & 0xff), |
111 | (pwm_limit[i] & 0xff), |
112 | (pwm_limit[i] >> 8) |
112 | (pwm_limit[i] >> 8) |
113 | ); |
113 | ); |
114 | } |
114 | } |
115 | } else { |
115 | } else { |
116 | printf("Invalid servo\n"); |
116 | printf("Invalid servo\n"); |