Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of C027_Support by
Revision 45:ebc2fd8dcf21, committed 2014-05-05
- Comitter:
- mazgch
- Date:
- Mon May 05 15:42:49 2014 +0000
- Parent:
- 44:9d12223b78ff
- Child:
- 46:8ce9169e0747
- Commit message:
- make more portable to other cpus
Changed in this revision
--- a/GPS.cpp Thu Apr 17 20:41:30 2014 +0000
+++ b/GPS.cpp Mon May 05 15:42:49 2014 +0000
@@ -260,6 +260,7 @@
_pipe(rxSize),
_i2cAdr(i2cAdr)
{
+ frequency(100000);
found = false;
}
--- a/MDM.cpp Thu Apr 17 20:41:30 2014 +0000
+++ b/MDM.cpp Mon May 05 15:42:49 2014 +0000
@@ -3,7 +3,7 @@
#include <string.h>
#include "MDM.h"
-#define TRACE (0)?:printf
+#define TRACE (1/*1=off,0=trace*/)?:printf
//#define DEBUG // enable this for AT command debugging
#define PROFILE "0" // this is the psd profile used
#define MAX_SIZE 256 // max expected messages
@@ -210,7 +210,7 @@
if(OK == waitFinalResp())
break;
}
- if (i == 0)
+ if (i < 0)
return false;
// echo off
sendFormated("AT E0\r\n");
--- a/SerialPipe.cpp Thu Apr 17 20:41:30 2014 +0000
+++ b/SerialPipe.cpp Mon May 05 15:42:49 2014 +0000
@@ -6,13 +6,18 @@
: _SerialPipeBase(tx,rx), _pipeRx(rxSize), _pipeTx(txSize)
{
attach(this, &SerialPipe::rxIrqBuf, RxIrq);
+#if defined(TARGET_UBLOX_C027) || defined(TARGET_LPC1768)
+ // the lpc1768 supports interrupt driven tx
attach(this, &SerialPipe::txIrqBuf, TxIrq);
+#endif
}
SerialPipe::~SerialPipe(void)
{
attach(NULL, RxIrq);
+#if defined(TARGET_UBLOX_C027) || defined(TARGET_LPC1768)
attach(NULL, TxIrq);
+#endif
}
// tx channel
@@ -57,9 +62,19 @@
void SerialPipe::txStart(void)
{
+#if defined(TARGET_UBLOX_C027) || defined(TARGET_LPC1768)
__disable_irq();
txIrqBuf();
__enable_irq();
+#else
+ while (_pipeTx.readable())
+ {
+ char c = _pipeTx.getc();
+ while (!_SerialPipeBase::writeable())
+ /*wait*/;
+ _SerialPipeBase::_base_putc(c);
+ }
+#endif
}
// rx channel
