#include <stdio.h>
#include "board.h"
#include "hif.h"
#include "radio.h"
#include "xmpl.h"
#define PROMPT() PRINTF("\n\ruracoli[%02d]> ",lc++)
buffer_stream_t Rstream;
uint8_t frame_header[] = {0x01, 0x80, 0, 0x11,0x22,0x33,0x44};
#define XMPL_FRAME_SIZE (40)
uint8_t ibuf[
sizeof(
buffer_t) + XMPL_FRAME_SIZE + 2];
uint8_t obuf[
sizeof(
buffer_t) + XMPL_FRAME_SIZE + 2];
int main(void)
{
uint8_t cnt = 0;
buffer_init(obuf,
sizeof(obuf)-2,
sizeof(frame_header));
buffer_stream_init(&Rstream, &incb, &outcb);
stdout = stdin = &Rstream.bstream;
printf_P(PSTR("Hello World %d\n\r"),cnt++);
while(1)
{
WAIT_MS(10);
int c;
c = getchar();
if ( ('a' <= c) && (c <= 'z'))
{
printf_P(PSTR(":%c:\n\r"),c);
}
}
}
{
static uint8_t frame_header[] = {0x01, 0x80, 0, 0x11,0x22,0x33,0x44};
char lastchar;
lastchar = BUFFER_LAST_CHAR(pbuf);
if ((BUFFER_FREE_AT_END(pbuf) < 1) || (lastchar == '\r'))
{
BUFFER_RESET(pbuf, sizeof(frame_header));
frame_header[2]++;
}
}
{
uint8_t sz;
sz = BUFFER_SIZE(pbuf);
if (sz < 1)
{
BUFFER_RESET(pbuf,0);
BUFFER_SET_UNLOCK(pbuf);
}
}
{
uint16_t fctl;
uint8_t hlength;
if ( BUFFER_IS_LOCKED(Rstream.pbufin) == false && crc == 0)
{
fctl = *(uint16_t*)frm;
hlength = 3;
if (fctl & FCTL_IPAN_MASK)
{
hlength -= (fctl & FCTL_SRC_MASK) ? 2:0;
}
BUFFER_ADVANCE(Rstream.pbufin,hlength-1);
printf("rx=%d\n\r", BUFFER_SIZE(Rstream.pbufin));
BUFFER_SET_LOCK(Rstream.pbufin);
}
return frm;
}