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
use xbee module from aversive
[protos/xbee-avr.git]
/
main.c
diff --git
a/main.c
b/main.c
index
8e2aa0e
..
c6f13e3
100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-26,7
+26,7
@@
*/
/* fuses:
*/
/* fuses:
- * avrdude -p atmega1284p -P usb -c avrispmkii -U lfuse:w:0xff:m -U hfuse:w:0x9
9
:m -U efuse:w:0xff:m
+ * avrdude -p atmega1284p -P usb -c avrispmkii -U lfuse:w:0xff:m -U hfuse:w:0x9
1
:m -U efuse:w:0xff:m
*/
#include <aversive.h>
*/
#include <aversive.h>
@@
-52,6
+52,7
@@
#include <rdline.h>
#include <timer.h>
#include <rdline.h>
#include <timer.h>
+#include "eeprom_config.h"
#include "beep.h"
#include "main.h"
#include "beep.h"
#include "main.h"
@@
-236,6
+237,7
@@
int xbee_recv_data(struct xbee_recv_hdr *recvframe, unsigned len)
return -1;
switch (rch->type) {
return -1;
switch (rch->type) {
+#if 0
case RC_PROTO_TYPE_CHANNEL: {
struct rc_proto_channel *rcc =
(struct rc_proto_channel *) recvframe->data;
case RC_PROTO_TYPE_CHANNEL: {
struct rc_proto_channel *rcc =
(struct rc_proto_channel *) recvframe->data;
@@
-247,7
+249,7
@@
int xbee_recv_data(struct xbee_recv_hdr *recvframe, unsigned len)
val += 512;
spi_servo_set(0, val);
break;
val += 512;
spi_servo_set(0, val);
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;
@@
-262,6
+264,7
@@
int xbee_recv_data(struct xbee_recv_hdr *recvframe, unsigned len)
break;
}
break;
}
+#endif
default:
return -1;
}
default:
return -1;
}
@@
-270,7
+273,7
@@
int xbee_recv_data(struct xbee_recv_hdr *recvframe, unsigned len)
}
/* socat /dev/ttyUSB0,raw,echo=0,b115200 /dev/ttyACM1,raw,echo=0,b115200 */
}
/* socat /dev/ttyUSB0,raw,echo=0,b115200 /dev/ttyACM1,raw,echo=0,b115200 */
-void xbee_rx(struct xbee_dev *dev, int channel, int type,
+void xbee
app
_rx(struct xbee_dev *dev, int channel, int type,
void *frame, unsigned len, void *opaque)
{
struct xbee_ctx *ctx = opaque;
void *frame, unsigned len, void *opaque)
{
struct xbee_ctx *ctx = opaque;
@@
-376,7
+379,7
@@
static int xbeeapp_send(struct xbee_ctx *ctx, int type, void *buf, unsigned len,
/* register a channel */
channel = xbee_register_channel(xbee_dev, XBEE_CHANNEL_ANY,
/* register a channel */
channel = xbee_register_channel(xbee_dev, XBEE_CHANNEL_ANY,
- xbee_rx, NULL);
+ xbee
app
_rx, NULL);
if (channel < 0) {
printf_P(PSTR("cannot send: no free channel\r\n"));
return -1;
if (channel < 0) {
printf_P(PSTR("cannot send: no free channel\r\n"));
return -1;
@@
-394,8
+397,7
@@
static int xbeeapp_send(struct xbee_ctx *ctx, int type, void *buf, unsigned len,
hexdump("xmit frame", buf, len);
/* transmit the frame on this channel */
hexdump("xmit frame", buf, len);
/* transmit the frame on this channel */
- ret = xbee_proto_xmit(xbee_dev, channel, type, buf,
- len);
+ ret = xbee_tx(xbee_dev, channel, type, buf, len);
if (ret < 0) {
printf_P(PSTR("cannot send\r\n"));
xbee_unregister_channel(xbee_dev, channel);
if (ret < 0) {
printf_P(PSTR("cannot send\r\n"));
xbee_unregister_channel(xbee_dev, channel);
@@
-573,7
+575,7
@@
void xbee_mainloop(void)
else {
if (xbee_cmdline_input_enabled)
cmdline_poll();
else {
if (xbee_cmdline_input_enabled)
cmdline_poll();
- xbee_
proto_
rx(xbee_dev);
+ xbee_rx(xbee_dev);
}
}
}
}
}
}
@@
-656,13
+658,13
@@
int main(void)
/* register default channel with a callback */
if (xbee_register_channel(xbee_dev, XBEE_DEFAULT_CHANNEL,
/* register default channel with a callback */
if (xbee_register_channel(xbee_dev, XBEE_DEFAULT_CHANNEL,
- xbee_rx, NULL) < 0) {
+ xbee
app
_rx, NULL) < 0) {
fprintf(stderr, "cannot register default channel\n");
return -1;
}
fprintf(stderr, "cannot register default channel\n");
return -1;
}
-
sei();
sei();
+ eeprom_load_config();
xbee_mainloop();
return 0;
}
xbee_mainloop();
return 0;
}