git.droids-corp.org
/
protos
/
xbee-avr.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
control servo 0 with axis 0
[protos/xbee-avr.git]
/
main.c
diff --git
a/main.c
b/main.c
index
b9fa0a8
..
e9454c4
100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-235,10
+235,18
@@
int xbee_recv_data(struct xbee_recv_hdr *recvframe, unsigned len)
return -1;
switch (rch->type) {
return -1;
switch (rch->type) {
- case RC_PROTO_TYPE_CHANNEL:
+ case RC_PROTO_TYPE_CHANNEL: {
+ struct rc_proto_channel *rcc =
+ (struct rc_proto_channel *) recvframe->data;
+ int16_t val;
if (datalen != sizeof(struct rc_proto_channel))
return -1;
if (datalen != sizeof(struct rc_proto_channel))
return -1;
+ val = ntohs(rcc->axis[0]);
+ val >>= 6;
+ val += 512;
+ spi_servo_set(0, val);
break;
break;
+ }
case RC_PROTO_TYPE_RANGE: {
struct rc_proto_range *rcr =
(struct rc_proto_range *) recvframe->data;
case RC_PROTO_TYPE_RANGE: {
struct rc_proto_range *rcr =
(struct rc_proto_range *) recvframe->data;
@@
-619,7
+627,6
@@
int main(void)
int8_t err;
struct xbee_dev dev;
int8_t err;
struct xbee_dev dev;
- spi_servo_init();
#ifdef USE_USB
SetupHardware();
#ifdef USE_USB
SetupHardware();
@@
-639,6
+646,7
@@
int main(void)
1000L / SCHEDULER_UNIT,
LED_PRIO);
cmdline_init();
1000L / SCHEDULER_UNIT,
LED_PRIO);
cmdline_init();
+ spi_servo_init();
#ifndef USE_USB
/* in usb mode, it's done in usb callback */
printf_P(PSTR("\r\n"));
#ifndef USE_USB
/* in usb mode, it's done in usb callback */
printf_P(PSTR("\r\n"));