TI's MQTT Demo with freertos CM4F

Dependencies:   mbed

Committer:
dflet
Date:
Thu Sep 03 14:07:01 2015 +0000
Revision:
0:1e7b5dd9edb4
First commit, it's been hanging around for a while. Updated SPI mode change 1 to 0.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dflet 0:1e7b5dd9edb4 1
dflet 0:1e7b5dd9edb4 2 #include "mbed.h"
dflet 0:1e7b5dd9edb4 3 #include "myBoardInit.h"
dflet 0:1e7b5dd9edb4 4 #include "cli_uart.h"
dflet 0:1e7b5dd9edb4 5 #include "osi.h"
dflet 0:1e7b5dd9edb4 6
dflet 0:1e7b5dd9edb4 7 OsiLockObj_t g_printLock;
dflet 0:1e7b5dd9edb4 8 #if (THIS_BOARD == Seeed_Arch_Max)
dflet 0:1e7b5dd9edb4 9 Serial uart(PC_6, PC_7);
dflet 0:1e7b5dd9edb4 10 //Serial uart(USBTX, USBRX);
dflet 0:1e7b5dd9edb4 11 #else
dflet 0:1e7b5dd9edb4 12 Serial uart(p37, p31);
dflet 0:1e7b5dd9edb4 13 #endif
dflet 0:1e7b5dd9edb4 14
dflet 0:1e7b5dd9edb4 15
dflet 0:1e7b5dd9edb4 16
dflet 0:1e7b5dd9edb4 17 int Uart_Write(unsigned char *inBuff)
dflet 0:1e7b5dd9edb4 18 {
dflet 0:1e7b5dd9edb4 19 uint16_t ret, ecount, usLength = strlen((const char *)inBuff);
dflet 0:1e7b5dd9edb4 20 ecount = 0;
dflet 0:1e7b5dd9edb4 21 ret = 0;
dflet 0:1e7b5dd9edb4 22
dflet 0:1e7b5dd9edb4 23 while(!(uart.writeable())){ecount++;if(ecount>3000)break;};
dflet 0:1e7b5dd9edb4 24
dflet 0:1e7b5dd9edb4 25 if(uart.writeable()) {
dflet 0:1e7b5dd9edb4 26
dflet 0:1e7b5dd9edb4 27 if(inBuff == NULL) {
dflet 0:1e7b5dd9edb4 28 printf("Uart Write buffer empty\r\n");
dflet 0:1e7b5dd9edb4 29 return -1;
dflet 0:1e7b5dd9edb4 30 }
dflet 0:1e7b5dd9edb4 31
dflet 0:1e7b5dd9edb4 32 RTOS_MUTEX_ACQUIRE(&g_printLock);
dflet 0:1e7b5dd9edb4 33 ret = usLength;
dflet 0:1e7b5dd9edb4 34
dflet 0:1e7b5dd9edb4 35 while (usLength) {
dflet 0:1e7b5dd9edb4 36 uart.putc(*inBuff);
dflet 0:1e7b5dd9edb4 37 usLength--;
dflet 0:1e7b5dd9edb4 38 inBuff++;
dflet 0:1e7b5dd9edb4 39 }
dflet 0:1e7b5dd9edb4 40
dflet 0:1e7b5dd9edb4 41 RTOS_MUTEX_RELEASE(&g_printLock);
dflet 0:1e7b5dd9edb4 42 } else {
dflet 0:1e7b5dd9edb4 43 printf("Uart Write failed [uart not writeable] now trying printf\r\n");
dflet 0:1e7b5dd9edb4 44 while (usLength) {
dflet 0:1e7b5dd9edb4 45 printf("%c",*inBuff);
dflet 0:1e7b5dd9edb4 46 usLength--;
dflet 0:1e7b5dd9edb4 47 inBuff++;
dflet 0:1e7b5dd9edb4 48 }
dflet 0:1e7b5dd9edb4 49 return -1;
dflet 0:1e7b5dd9edb4 50 }
dflet 0:1e7b5dd9edb4 51
dflet 0:1e7b5dd9edb4 52 return (int)ret;
dflet 0:1e7b5dd9edb4 53
dflet 0:1e7b5dd9edb4 54 }
dflet 0:1e7b5dd9edb4 55
dflet 0:1e7b5dd9edb4 56 void CLI_Configure(void)
dflet 0:1e7b5dd9edb4 57 {
dflet 0:1e7b5dd9edb4 58 uart.baud(115200);
dflet 0:1e7b5dd9edb4 59
dflet 0:1e7b5dd9edb4 60 RTOS_MUTEX_CREATE(&g_printLock);
dflet 0:1e7b5dd9edb4 61
dflet 0:1e7b5dd9edb4 62 }
dflet 0:1e7b5dd9edb4 63