S_STOPPED,
S_FLUSHING,
};
-
+
message_t printfMsg;
nx_uint8_t buffer[PRINTF_BUFFER_SIZE];
norace nx_uint8_t* next_byte;
uint8_t state = S_STOPPED;
- uint8_t bytes_left_to_flush;
+ uint32_t bytes_left_to_flush;
uint8_t length_to_send;
task void retrySend() {
printf_msg_t* m = (printf_msg_t*)call Packet.getPayload(&printfMsg, NULL);
length_to_send = (bytes_left_to_flush < sizeof(printf_msg_t)) ? bytes_left_to_flush : sizeof(printf_msg_t);
memset(m->buffer, 0, sizeof(printf_msg_t));
- memcpy(m->buffer, (uint8_t*)next_byte, length_to_send);
+ memcpy(m->buffer, (nx_uint8_t*)next_byte, length_to_send);
if(call AMSend.send(AM_BROADCAST_ADDR, &printfMsg, sizeof(printf_msg_t)) != SUCCESS)
post retrySend();
else {
#ifndef PRINTF_H
#define PRINTF_H
+#ifndef PRINTF_BUFFER_SIZE
+#define PRINTF_BUFFER_SIZE 250
+#endif
+
#ifdef _H_msp430hardware_h
#include <stdio.h>
#endif
#endif
#include "message.h"
-#define PRINTF_BUFFER_SIZE 250
-
typedef nx_struct printf_msg {
nx_uint8_t buffer[TOSH_DATA_LENGTH];
} printf_msg_t;