- if (cmd.flags & XBEE_ATCMD_F_PARAM_U8 && len == sizeof(uint8_t))
- NOTICE(E_USER_XBEE, "<%s> is 0x%x (%d)", atcmd_str,
- result->u8, result->u8);
- else if (cmd.flags & XBEE_ATCMD_F_PARAM_U16 && len == sizeof(uint16_t))
- NOTICE(E_USER_XBEE, "<%s> is 0x%x (%d)", atcmd_str,
- ntohs(result->u16), ntohs(result->u16));
- else if (cmd.flags & XBEE_ATCMD_F_PARAM_U32 && len == sizeof(uint32_t))
- NOTICE(E_USER_XBEE, "<%s> is 0x%"PRIx32" (%"PRIu32")",
- atcmd_str, ntohl(result->u32), ntohs(result->u32));
- else if (cmd.flags & XBEE_ATCMD_F_PARAM_S16 && len == sizeof(int16_t))
- NOTICE(E_USER_XBEE, "<%s> is %d",
- atcmd_str, ntohs(result->s16));
- else if (len == 0)
- NOTICE(E_USER_XBEE, "no data, status ok");
- else
- hexdump("atcmd answer", frame->data, len);
-
- return 0;
-}
-
-
-int xbee_recv_data(struct xbee_recv_hdr *recvframe, unsigned len)
-{
- unsigned int datalen;
- struct rc_proto_hdr *rch = (struct rc_proto_hdr *) &recvframe->data;
-
- if (len < sizeof(*recvframe))
- return -1;
-
- datalen = len - sizeof(*recvframe);
- if (datalen < sizeof(struct rc_proto_hdr))
- return -1;
-
- switch (rch->type) {
-#if 0
- 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;
- val = ntohs(rcc->axis[0]);
- val >>= 6;
- val += 512;
- spi_servo_set(0, val);
- break;
- }
- case RC_PROTO_TYPE_RANGE: {
- struct rc_proto_range *rcr =
- (struct rc_proto_range *) recvframe->data;
-
- if (datalen != sizeof(struct rc_proto_range))
- return -1;