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.
Dependencies: SX1276Lib AdaFruit_RGBLCD MCP23017 mbed
Fork of AdaFruit_RGBLCD by
Revision 31:2c813f321db7, committed 2015-07-14
- Comitter:
- ftagius
- Date:
- Tue Jul 14 14:58:23 2015 +0000
- Parent:
- 30:6b0785d23528
- Child:
- 32:a2472bbe7c92
- Commit message:
- refactored sx1276 demo code
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/AdafruitGPS.lib Tue Jul 14 14:58:23 2015 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/teams/CaryCoders/code/AdafruitGPS/#35fcaa2209af
--- a/GPS.lib Tue Jun 16 11:56:16 2015 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://developer.mbed.org/teams/CaryCoders/code/GPS/#d2ea48d59900
--- a/KeyReaderAdaFruit/keyreaderadafruit.cpp Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-#include "mbed.h"
-#include "keyreaderadafruit.h"
-
-KeyReaderAdafruit::KeyReaderAdafruit(I2C & in_cI2C)
- : Keys(in_cI2C)
- , m_cMCP(in_cI2C, 0x20 << 1)
- , m_cLCD(m_cMCP)
-{
- m_cLCD.begin(16,2);
-}
-
-uint8_t KeyReaderAdafruit::readButtons()
-{
- int nKeys = m_cLCD.readButtons();
- uint8_t nKeysOut = eButtonNone;
-
- if (nKeys & BUTTON_UP) nKeysOut |= eButtonUp;
- if (nKeys & BUTTON_DOWN) nKeysOut |= eButtonDown;
- if (nKeys & BUTTON_LEFT) nKeysOut |= eButtonLeft;
- if (nKeys & BUTTON_RIGHT) nKeysOut |= eButtonRight;
- if (nKeys & BUTTON_SELECT) nKeysOut |= eButtonSelect;
-
- return nKeysOut;
-}
--- a/KeyReaderAdaFruit/keyreaderadafruit.h Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-#ifndef __KEYREADERADAFRUIT_H__
-#define __KEYREADERADAFRUIT_H__
-
-#include "keys.h"
-#include "Adafruit_RGBLCDShield.h"
-#include "MCP23017.h"
-
-class KeyReaderAdafruit
- : public Keys
-{
-public:
- KeyReaderAdafruit(I2C & in_cI2C);
-
- virtual uint8_t readButtons();
-
-protected:
- MCP23017 m_cMCP;
- Adafruit_RGBLCDShield m_cLCD;
-
-};
-
-#endif // __KEYREADERADAFRUIT_H__
--- a/KeyReaderNull/keyreadernull.cpp Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-#include "mbed.h"
-#include "keyreadernull.h"
-
-KeyReaderNull::KeyReaderNull(I2C & in_cI2C)
- : Keys(in_cI2C)
-{
-}
-
-uint8_t KeyReaderNull::readButtons()
-{
- return eButtonNone;
-}
--- a/KeyReaderNull/keyreadernull.h Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-#ifndef __KEYREADERNULL_H__
-#define __KEYREADERNULL_H__
-
-#include "keys.h"
-
-class KeyReaderNull
- : public Keys
-{
-public:
- KeyReaderNull(I2C & in_cI2C);
-
- virtual uint8_t readButtons();
-};
-
-#endif // __KEYREADERNULL_H__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/LCDadafruit/lcd.cpp Tue Jul 14 14:58:23 2015 +0000
@@ -0,0 +1,8 @@
+#include "mbed.h"
+#include "lcd.h"
+
+LCD::LCD(I2C & in_cI2C)
+ : Serial(USBTX,USBRX)
+ , m_cI2C(in_cI2C)
+{
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/LCDadafruit/lcd.h Tue Jul 14 14:58:23 2015 +0000
@@ -0,0 +1,25 @@
+#ifndef __LCD_H__
+#define __LCD_H__
+
+class LCD
+ : public Serial // for printf
+{
+public:
+ LCD(I2C & in_cI2C);
+ virtual int _putc(int c) = 0;
+
+ virtual void clear() = 0;
+ virtual uint8_t columns() = 0;
+ virtual void createChar(uint8_t location, uint8_t charmap[]) = 0;
+ virtual void home() = 0;
+ virtual uint8_t rows() = 0;
+ virtual void setCursor(uint8_t in_nX, uint8_t in_nY) = 0;
+ virtual void showBlink(bool in_bShow) = 0;
+ virtual void showCursor(bool in_bShow) = 0;
+ virtual void showDisplay(bool in_bShow) = 0;
+
+protected:
+ I2C & m_cI2C;
+};
+
+#endif // __LCD_H__
--- a/LCDadafruit/lcdadafruit.cpp Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-#include "mbed.h"
-#include "lcdadafruit.h"
-
-LCDadafruit::LCDadafruit(I2C & in_cI2C)
- : LCD(in_cI2C)
- , m_cMCP(in_cI2C, 0x20 << 1)
- , m_cLCD(m_cMCP)
-{
- m_cLCD.begin(16,2);
-}
-
-int LCDadafruit::_putc(int in_nValue)
-{
- return m_cLCD._putc(in_nValue);
-}
-
-void LCDadafruit::clear()
-{
- m_cLCD.clear();
-}
-
-uint8_t LCDadafruit::columns()
-{
- return 16;
-}
-
-void LCDadafruit::createChar(uint8_t location, uint8_t charmap[])
-{
- m_cLCD.createChar(location,charmap);
-}
-
-void LCDadafruit::home()
-{
- m_cLCD.home();
-}
-
-uint8_t LCDadafruit::rows()
-{
- return 2;
-}
-
-void LCDadafruit::setCursor(uint8_t in_nX, uint8_t in_nY)
-{
- m_cLCD.setCursor(in_nX,in_nY);
-}
-
-void LCDadafruit::showBlink(bool in_bShow)
-{
-
- if (in_bShow) m_cLCD.blink(); else m_cLCD.noBlink();
-}
-
-void LCDadafruit::showCursor(bool in_bShow)
-{
- if (in_bShow) m_cLCD.cursor(); else m_cLCD.noCursor();
-}
-
-void LCDadafruit::showDisplay(bool in_bShow)
-{
- if (in_bShow) m_cLCD.display(); else m_cLCD.noDisplay();
-}
--- a/MenuManager/MenuManager.cpp Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,252 +0,0 @@
-#include "mbed.h"
-#include "module.h"
-#include "extra_chars.h"
-
-#include "MenuManager.h"
-
-MenuManager::MenuManager
-(
- Module ** in_pModules,
- size_t in_nModules,
- LCD & in_cLCD,
- Keys & in_cKeys
-)
- : m_pModules(in_pModules)
- , m_nModules(in_nModules)
- , m_cLCD(in_cLCD)
- , m_cKeys(in_cKeys)
- , m_eMode(Module::eModeLast)
- , m_nMenuPos(0)
- , m_nIndex(0)
- , m_nCursorX(0)
- , m_nCursorY(0)
-{
-}
-
-void MenuManager::changeModule(bool in_bUp)
-{
- size_t nModule = (m_nMenuPos + m_nCursorY) % m_nModules;
- m_pModules[nModule]->change(m_nIndex,in_bUp);
-}
-
-void MenuManager::createChars()
-{
- //uint8_t k_aUp[] = { 0x4,0xe,0x1f,0x15,0x4,0x4,0x4,0x4 };
- //uint8_t k_aDown[] = { 0x4,0x4,0x4,0x4,0x15,0x1f,0xe,0x4 };
-
- uint8_t k_aUp[] = { 0x0,0x0,0x4,0xe,0x1f,0x0,0x0 };
- uint8_t k_aDown[] = { 0x0,0x0,0x1f,0xe,0x4,0x0,0x0 };
- uint8_t k_aRight[] = { 0x0,0x8,0xc,0xe,0xc,0x8,0x0 };
- uint8_t k_aLeft[] = { 0x0,0x2,0x6,0xe,0x6,0x2,0x0 };
- uint8_t k_aDegree[] = { 0xc,0x12,0x12,0xc,0x0,0x0,0x0,0x0 };
-
- m_cLCD.createChar(eUp,k_aUp);
- m_cLCD.createChar(eDown,k_aDown);
- m_cLCD.createChar(eRight,k_aRight);
- m_cLCD.createChar(eLeft,k_aLeft);
- m_cLCD.createChar(eDegree,k_aDegree);
-}
-
-void MenuManager::initialise()
-{
- createChars();
-
- m_cLCD.setCursor(0,0);
- m_cLCD._putc(eUp);
-
- m_cLCD.setCursor(0,m_cLCD.rows() - 1);
- m_cLCD._putc(eDown);
-
- m_nCursorX = 2;
- m_nCursorY = 0;
-}
-
-void MenuManager::loop()
-{
- Serial cPC(USBTX, USBRX);
- setMode(Module::eModeMenu);
-
- m_nMenuPos = 0;
- m_nIndex = 0;
-
- initialise();
-
- showModules();
-
- while (true)
- {
- uint8_t nKeys = m_cKeys.readButtons();
- if (Keys::eButtonNone != nKeys)
- {
-
- processKeys(nKeys);
- }
- else
- {
-
-
- switch (m_eMode)
- {
- case Module::eModeMenu:
- showModules(true);
-
- int nOffsetX = m_pModules[m_nMenuPos]->getCursorOffset(m_nIndex);
- m_cLCD.setCursor(m_nCursorY + nOffsetX,m_nCursorY);
- break;
- }
- }
-
- wait(0.2);
- }
-}
-
-void MenuManager::processKeys(uint8_t in_nKeys)
-{
- // Change mode based on select
- if (in_nKeys & Keys::eButtonSelect)
- {
- Module::EModes eMode = (Module::EModes)((m_eMode + 1) % Module::eModeLast);
- setMode(eMode);
-
- // Start at top corner or first good item
- if (Module::eModeSelect == m_eMode)
- {
- m_nIndex = 0;
- m_nCursorY = 0;
-
- // Move to next valid module for editing
- for (size_t i = 0; i < m_cLCD.rows(); i++)
- {
- size_t nPos = (m_nMenuPos + i) % m_nModules;
-
- if (-1 != m_pModules[nPos]->getCursorOffset(i))
- {
- m_nCursorY = i;
- break;
- }
- }
- }
- }
-
- switch (m_eMode)
- {
- case Module::eModeMenu:
- setCursor(false,false);
- showTracking(false);
-
- if (in_nKeys & Keys::eButtonUp) m_nMenuPos--;
- if (in_nKeys & Keys::eButtonDown) m_nMenuPos++;
-
- m_nMenuPos = m_nMenuPos % m_nModules;
- break;
-
- case Module::eModeSelect:
- setCursor(true,false);
- showTracking(true);
-
- if (m_nCursorY > 0 && (in_nKeys & Keys::eButtonUp)) m_nCursorY--;
- if ((m_nCursorY < m_cLCD.rows() - 1) && (in_nKeys & Keys::eButtonDown)) m_nCursorY++;
-
- if (in_nKeys & Keys::eButtonLeft) m_nIndex--;
- if (in_nKeys & Keys::eButtonRight) m_nIndex++;
- break;
-
- case Module::eModeChange:
- setCursor(false,true);
- showTracking(true);
-
- if (in_nKeys & (Keys::eButtonUp | Keys::eButtonDown))
- {
- bool bUp = (in_nKeys & Keys::eButtonUp) ? true : false;
- changeModule(bUp);
- }
-
- if (in_nKeys & Keys::eButtonLeft) m_nIndex--;
- if (in_nKeys & Keys::eButtonRight) m_nIndex++;
- break;
- }
-
- updateDisplay();
-}
-
-void MenuManager::setCursor(bool in_bCursor,bool in_bBlink)
-{
- m_cLCD.showCursor(in_bCursor);
- m_cLCD.showBlink(in_bBlink);
-}
-
-void MenuManager::setMode(Module::EModes in_eMode)
-{
- m_eMode = in_eMode;
-
- for (size_t i = 0; i < m_nModules; i++)
- {
- m_pModules[i]->onModeChange(m_eMode);
- }
-}
-
-void MenuManager::showModules(bool in_bRefresh)
-{
- for (size_t i = 0; i < m_cLCD.rows(); i++)
- {
- size_t nPos = (m_nMenuPos + i) % m_nModules;
- m_cLCD.setCursor(2,i);
-
- if (m_pModules[nPos]->canRefresh() || !in_bRefresh) m_pModules[nPos]->show(in_bRefresh);
- }
-}
-
-void MenuManager::showTracking(bool in_bShow)
-{
- int nX = (m_cLCD.rows() >= 4) ? 0:1;
- int nTop = nX ? 0:1;
- int nBottom = m_cLCD.rows() - (nX ? 1:2);
-
- if (in_bShow)
- {
- m_cLCD.setCursor(nX,nTop);
- m_cLCD._putc(eLeft);
-
- m_cLCD.setCursor(nX,nBottom);
- m_cLCD._putc(eRight);
- }
- else
- {
- m_cLCD.setCursor(nX,nTop);
- m_cLCD._putc(' ');
-
- m_cLCD.setCursor(nX,nBottom);
- m_cLCD._putc(' ');
- }
-}
-
-void MenuManager::updateDisplay()
-{
- showModules();
-
- size_t nCurrent = (m_nMenuPos + m_nCursorY) % m_nModules;
-
- int nOffsetX = m_pModules[nCurrent]->getCursorOffset(m_nIndex);
-
- // If we didn't have anything, move the line
- if (-1 == nOffsetX)
- {
- m_nCursorY = (m_nCursorY + 1) % m_cLCD.rows();
-
- nCurrent = (m_nMenuPos + m_nCursorY) % m_nModules;
-
- m_nIndex = 0;
- nOffsetX = m_pModules[nCurrent]->getCursorOffset(m_nIndex);
- }
-
- if ((size_t)-1 != m_nIndex)
- {
- // Move cursor to new position
- m_cLCD.setCursor(m_nCursorX + nOffsetX,m_nCursorY);
- }
- else
- {
- // If nothing to show - hide everything
- setCursor(false,false);
- }
-}
--- a/MenuManager/MenuManager.h Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-#ifndef __MENUMANAGER_H__
-#define __MENUMANAGER_H__
-
-#include "lcd.h"
-#include "keys.h"
-
-class MenuManager
-{
-public:
- MenuManager
- (
- Module ** in_pModules,
- size_t in_nModules,
- LCD & in_cLCD,
- Keys & in_cKeys
- );
- void loop();
-
-protected:
- void changeModule(bool in_bUp);
- void createChars();
- void initialise();
- void processKeys(uint8_t in_nKeys);
- void setCursor
- (
- bool in_bCursor,
- bool in_bBlink
- );
- void setMode(Module::EModes in_eMode);
- void showModules(bool in_bRefresh = false);
- void showTracking(bool in_bShow);
- void updateDisplay();
-
-protected:
- Module ** m_pModules;
- size_t m_nModules;
- LCD & m_cLCD;
- Keys & m_cKeys;
- Module::EModes m_eMode;
- size_t m_nMenuPos;
- size_t m_nIndex;
- int m_nCursorX, m_nCursorY;
-};
-
-#endif /* __MENUMANAGER_H__ */
--- a/MenuManager/keys.cpp Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#include "mbed.h"
-#include "keys.h"
-
-Keys::Keys(I2C & in_cI2C)
- : m_cI2C(in_cI2C)
-{
-}
--- a/MenuManager/keys.h Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-#ifndef __KEYS_H__
-#define __KEYS_H__
-
-class Keys
-{
-public:
- enum EButtons
- {
- eButtonNone = 0x00,
- eButtonUp = 0x01,
- eButtonDown = 0x02,
- eButtonLeft = 0x04,
- eButtonRight = 0x08,
- eButtonSelect = 0x10,
- };
-
-public:
- Keys(I2C & in_cI2C);
-
- virtual uint8_t readButtons() = 0;
-
-protected:
- I2C & m_cI2C;
-};
-
-#endif // __KEYS_H__
--- a/MenuManager/lcd.cpp Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-#include "mbed.h"
-#include "lcd.h"
-
-LCD::LCD(I2C & in_cI2C)
- : Serial(USBTX,USBRX)
- , m_cI2C(in_cI2C)
-{
-}
--- a/MenuManager/lcd.h Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-#ifndef __LCD_H__
-#define __LCD_H__
-
-class LCD
- : public Serial // for printf
-{
-public:
- LCD(I2C & in_cI2C);
- virtual int _putc(int c) = 0;
-
- virtual void clear() = 0;
- virtual uint8_t columns() = 0;
- virtual void createChar(uint8_t location, uint8_t charmap[]) = 0;
- virtual void home() = 0;
- virtual uint8_t rows() = 0;
- virtual void setCursor(uint8_t in_nX, uint8_t in_nY) = 0;
- virtual void showBlink(bool in_bShow) = 0;
- virtual void showCursor(bool in_bShow) = 0;
- virtual void showDisplay(bool in_bShow) = 0;
-
-protected:
- I2C & m_cI2C;
-};
-
-#endif // __LCD_H__
--- a/Modules/DateModule.cpp Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-#include "mbed.h"
-#include "DateModule.h"
-#include "time_helper.h"
-
-const char * k_aWeekDays[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
-
-DateModule::DateModule
-(
- Serial & in_cDisplay,
- RTclock & in_cRTclock
-)
- : Module(in_cDisplay)
- , m_cRTclock(in_cRTclock)
-{
- ::memset(&m_sLastTM,0,sizeof(m_sLastTM));
-}
-
-DateModule::~DateModule()
-{
-}
-
-void DateModule::change
-(
- size_t in_nIndex,
- bool in_bUp
-)
-{
- tm sTM;
-
- // to get the current time information
- if (!m_cRTclock.getTime(sTM)) GetTime(sTM);
- bool bTwelveHour = m_cRTclock.isTwelveHour();
-
- enum ETime
- {
- eWeekDay = 0,
- eDayTen,
- eDaySingle,
- eMonthTen,
- eMonthSingle,
- eYearTen,
- eYearSingle,
- };
-
- switch (in_nIndex)
- {
- case eWeekDay: sTM.tm_wday += (in_bUp ? 1 : -1); break;
- case eDayTen: sTM.tm_mday += (in_bUp ? 1 : -1) * 10; break;
- case eDaySingle: sTM.tm_mday += (in_bUp ? 1 : -1); break;
- case eMonthTen: sTM.tm_mon += (in_bUp ? 1 : -1) * 10; break;
- case eMonthSingle: sTM.tm_mon += (in_bUp ? 1 : -1); break;
- case eYearTen: sTM.tm_year += (in_bUp ? 1 : -1) * 10; break;
- case eYearSingle: sTM.tm_year += (in_bUp ? 1 : -1); break;
- }
-
- if (sTM.tm_wday < 0) sTM.tm_wday = 0;
- if (sTM.tm_wday > 6) sTM.tm_wday = 6;
- if (sTM.tm_mday < 1) sTM.tm_mday = 1;
- if (sTM.tm_mday > 31) sTM.tm_mday = 31;
- if (sTM.tm_mon < 0) sTM.tm_mon = 0;
- if (sTM.tm_mon > 11) sTM.tm_mon = 11;
- if (sTM.tm_year < 2000 - 1900) sTM.tm_year = 2000 - 1900;
- if (sTM.tm_year > 2099 - 1900) sTM.tm_year = 2099 - 1900;
-
- if (m_cRTclock.setTime(sTM,bTwelveHour))
- {
- m_cRTclock.mapTime();
- }
- else
- {
- SetTime(sTM);
- }
-}
-
-int DateModule::getCursorOffset(size_t & inout_nIndex)
-{
- const int k_aCursor[] = { 2, 4, 5, 7, 8, 12, 13 };
-
- if ((int)inout_nIndex < 0) inout_nIndex = 0;
- if (inout_nIndex >= _countof(k_aCursor)) inout_nIndex = _countof(k_aCursor) - 1;
-
- return k_aCursor[inout_nIndex];
-}
-
-void DateModule::show(bool in_bRefresh)
-{
- tm sTM;
-
- // to get the current time information
- if (!m_cRTclock.getTime(sTM)) GetTime(sTM);
-
- // if refreshing - only update if there's a change
- if (in_bRefresh)
- {
- // Check for change based on day (rest is irrelevant)
- if (sTM.tm_mday == m_sLastTM.tm_mday) return;
- }
-
- // Ensure internal struct has new TM data
- ::memcpy(&m_sLastTM,&sTM,sizeof(m_sLastTM));
- m_cDisplay.printf ("%s %02i/%02i/%04i ", k_aWeekDays[sTM.tm_wday], sTM.tm_mday, sTM.tm_mon + 1, 1900 + sTM.tm_year);
-}
--- a/Modules/DateModule.h Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-#ifndef __DATEMODULE_H__
-#define __DATEMODULE_H__
-
-#include "module.h"
-#include "RTclock.h"
-
-class DateModule
- : public Module
-{
-public:
- DateModule
- (
- Serial & in_cDisplay,
- RTclock & in_cRTclock
- );
- virtual ~DateModule();
-
- virtual bool canRefresh() { return true; }
- virtual void change
- (
- size_t in_nIndex,
- bool in_bUp
- );
- virtual int getCursorOffset(size_t & inout_nIndex);
- virtual void show(bool in_bRefresh);
-
-protected:
- RTclock & m_cRTclock;
- tm m_sLastTM;
-};
-
-#endif /* __DATEMODULE_H__ */
--- a/Modules/GPSModule.cpp Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-#include "mbed.h"
-#include "GPSModule.h"
-#include "time_helper.h"
-#include "GPS.h"
-//Serial pc(USBTX, USBRX);
-GPS gps(PTE0,PTE1);
-
-
-GPSModule::GPSModule
-(
- Serial & in_cDisplay,
- RTclock & in_cRTclock
-)
- : Module(in_cDisplay)
- , m_cRTclock(in_cRTclock)
-{
- ::memset(&m_sLastTM,0,sizeof(m_sLastTM));
-}
-
-GPSModule::~GPSModule()
-{
-}
-
-void GPSModule::show(bool in_bRefresh)
-{
-
-
- if(gps.sample()) {
- m_cDisplay.printf("Lon: %f", gps.l_longitude*-1.0f);
- // pc.printf("lon: %f, lat: %f\r\n", gps.longitude*-1.0f, gps.latitude);
- }
- else
- {
- m_cDisplay.printf("Lon: %s", "NA");
- }
-
-}
--- a/Modules/GPSModule.h Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-#ifndef __GPSModule_H__
-#define __GPSModule_H__
-
-#include "module.h"
-#include "RTclock.h"
-
-class GPSModule
- : public Module
-{
-public:
- GPSModule
- (
- Serial & in_cDisplay,
- RTclock & in_cRTclock
- );
- virtual ~GPSModule();
-
- virtual bool canRefresh() { return true; }
- virtual void show(bool in_bRefresh);
-
-protected:
- RTclock & m_cRTclock;
- tm m_sLastTM;
-};
-
-#endif /* __GPSModule_H__ */
\ No newline at end of file
--- a/Modules/LatitudeModule.cpp Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-#include "mbed.h"
-#include "LatitudeModule.h"
-#include "time_helper.h"
-#include "GPS.h"
-// Serial pc(USBTX, USBRX);
-
-//GPS gps(PTE0,PTE1);
-
-LatitudeModule::LatitudeModule
-(
- Serial & in_cDisplay,
- RTclock & in_cRTclock
-)
- : Module(in_cDisplay)
- , m_cRTclock(in_cRTclock)
-{
- ::memset(&m_sLastTM,0,sizeof(m_sLastTM));
-}
-
-LatitudeModule::~LatitudeModule()
-{
-}
-
-void LatitudeModule::show(bool in_bRefresh)
-{
- tm sTM;
-
- // to get the current time information
- if (!m_cRTclock.getTime(sTM)) GetTime(sTM);
-
-#if 0
- // if refreshing - only update if there's a change
- if (in_bRefresh)
- {
- // Check for change based on hour (rest is irrelevant)
- if (sTM.tm_hour == m_sLastTM.tm_hour) return;
- }
-#endif
-
- // Ensure internal struct has new TM data
- ::memcpy(&m_sLastTM,&sTM,sizeof(m_sLastTM));
-
- if (gps.lock_valid)
- m_cDisplay.printf("Lat: %f", gps.l_latitude);
- else
- m_cDisplay.printf("Lat: %s", "NA");
-
-}
\ No newline at end of file
--- a/Modules/LatitudeModule.h Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-#ifndef __LatitudeModule_H__
-#define __LatitudeModule_H__
-
-#include "module.h"
-#include "RTclock.h"
-
-class LatitudeModule
- : public Module
-{
-public:
- LatitudeModule
- (
- Serial & in_cDisplay,
- RTclock & in_cRTclock
- );
- virtual ~LatitudeModule();
-
- virtual bool canRefresh() { return true; }
- virtual void show(bool in_bRefresh);
-
-protected:
- RTclock & m_cRTclock;
- tm m_sLastTM;
-};
-
-#endif /* __GPSModule_H__ */
\ No newline at end of file
--- a/Modules/RadioModule.cpp Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-#include "mbed.h"
-#include "RadioModule.h"
-#include "time_helper.h"
-#include "mbed.h"
-#include "sx1276-hal.h"
-#include "main.h"
-#include "debug.h"
-#include "vt100.h"
-#include "serial_api.h"
-
-
-RadioModule::RadioModule
-(
- Serial & in_cDisplay,
- RTclock & in_cRTclock
-)
- : Module(in_cDisplay)
- , m_cRTclock(in_cRTclock)
-{
- ::memset(&m_sLastTM,0,sizeof(m_sLastTM));
-}
-
-RadioModule::~RadioModule()
-{
-
-}
-
-void RadioModule::show(bool in_bRefresh)
-{
- Radio.Rx( RX_TIMEOUT_VALUE );
- Radio.Tx( TX_TIMEOUT_VALUE );
- app = APP_HELLO;
- //while( 1 )
- {
- // wait_ms( 50 );
- switch (app) {
- case APP_PING:
- start_ping_pong();
- break;
- case APP_CHAT:
- console_chat();
- break;
- case APP_HELLO:
- start_hello();
- wait(0.11);
- break;
- case APP_CONSOLE:
- // printf("-chat-> x");
- fflush(stdout);
- console();
- break;
- default:
- printf("unknown app %d\r\n", app);
- break;
- } // ...switch (app)
- printf("in radio mdoule\r\n");
- //m_cDisplay.printf("SNR: %d RSSI: %d", RssiValue,SnrValue);
-
- }
- m_cDisplay.printf("SNR: %d RSSI: %d", RssiValue,SnrValue);
-
-}
--- a/Modules/RadioModule.h Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-#ifndef __RadioModule_H__
-#define __RadioModule_H__
-
-#include "module.h"
-#include "RTclock.h"
-//#include "main.h"
-
-class RadioModule
- : public Module
-{
-public:
- RadioModule
- (
- Serial & in_cDisplay,
- RTclock & in_cRTclock
- );
- virtual ~RadioModule();
-
- virtual bool canRefresh() { return true; }
- virtual void show(bool in_bRefresh);
-
-protected:
- RTclock & m_cRTclock;
- tm m_sLastTM;
-};
-
-#endif /* __RadioModule_H__ */
\ No newline at end of file
--- a/Modules/SyncModule.cpp Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-#include "mbed.h"
-#include "SyncModule.h"
-#include "extra_chars.h"
-
-SyncModule::SyncModule
-(
- Serial & in_cDisplay,
- RTclock & in_cClock
-)
- : Module(in_cDisplay)
- , m_cClock(in_cClock)
- , m_eMode(eModeLast)
- , m_bSync(false)
-{
-}
-
-SyncModule::~SyncModule()
-{
-}
-
-void SyncModule::change
-(
- size_t /* in_nIndex */,
- bool /* in_bUp */
-)
-{
- m_bSync = (m_bSync) ? false : true;
-}
-
-int SyncModule::getCursorOffset(size_t & inout_nIndex)
-{
- return m_bSync ? 13 : 12;
-}
-
-void SyncModule::onModeChange(EModes in_eMode)
-{
- EModes eOldMode = m_eMode;
- m_eMode = in_eMode;
-
- if (eModeChange != eOldMode) return;
- if (eModeMenu != m_eMode) return;
-
- if (m_bSync)
- {
- // Sync the internal mbed clock (stdlib)
- m_cClock.mapTime();
- m_bSync = false;
- }
-}
-
-void SyncModule::show(bool /*in_bRefresh*/)
-{
- switch (m_eMode)
- {
- case eModeChange:
- case eModeSelect:
- m_cDisplay.printf("Sync Time? %s ",m_bSync ? "yes" : "no");
- break;
-
- default:
- m_cDisplay.printf("Sync Time %c ",eRight);
- }
-}
--- a/Modules/SyncModule.h Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-#ifndef __SYNCMODULE_H__
-#define __SYNCMODULE_H__
-
-#include "module.h"
-#include "RTclock.h"
-
-class SyncModule
- : public Module
-{
-public:
- SyncModule
- (
- Serial & in_cDisplay,
- RTclock & in_cClock
- );
- virtual ~SyncModule();
-
- virtual void change
- (
- size_t in_nIndex,
- bool in_bUp
- );
- virtual int getCursorOffset(size_t & inout_nIndex);
- virtual void onModeChange(EModes in_eMode);
- virtual void show(bool in_bRefresh);
-
-protected:
- RTclock & m_cClock;
- EModes m_eMode;
- bool m_bSync;
-};
-
-#endif /* __SYNCMODULE_H__ */
--- a/Modules/TempModule.cpp Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-#include "mbed.h"
-#include "TempModule.h"
-
-#include "extra_chars.h"
-
-#define MCP9808_I2CADDR_DEFAULT (0x18 << 1)
-#define MCP9808_REG_CONFIG 0x01
-
-#define MCP9808_REG_CONFIG_SHUTDOWN 0x0100
-#define MCP9808_REG_CONFIG_CRITLOCKED 0x0080
-#define MCP9808_REG_CONFIG_WINLOCKED 0x0040
-#define MCP9808_REG_CONFIG_INTCLR 0x0020
-#define MCP9808_REG_CONFIG_ALERTSTAT 0x0010
-#define MCP9808_REG_CONFIG_ALERTCTRL 0x0008
-#define MCP9808_REG_CONFIG_ALERTSEL 0x0002
-#define MCP9808_REG_CONFIG_ALERTPOL 0x0002
-#define MCP9808_REG_CONFIG_ALERTMODE 0x0001
-
-#define MCP9808_REG_UPPER_TEMP 0x02
-#define MCP9808_REG_LOWER_TEMP 0x03
-#define MCP9808_REG_CRIT_TEMP 0x04
-#define MCP9808_REG_AMBIENT_TEMP 0x05
-#define MCP9808_REG_MANUF_ID 0x06
-#define MCP9808_REG_DEVICE_ID 0x07
-
-TempModule::TempModule(Serial & in_cDisplay,I2C & in_nI2C,uint8_t in_nAddress)
- : Module(in_cDisplay)
- , m_cI2C(in_nI2C)
- , m_nAddress(in_nAddress)
- , m_bValid(false)
-{
- uint16_t nManufacturer = read16(MCP9808_REG_MANUF_ID);// != 0x0054) return false;
- uint16_t nDeviceId = read16(MCP9808_REG_DEVICE_ID);//
-
- // Check to see if we need to autoscan for our device
- m_bValid = (0x0054 == nManufacturer || 0x0400 == nDeviceId);
-
-// bool bAutoScan = true;
-// m_nAddress = 0;
-//
-// while (bAutoScan && m_nAddress < 0x80)
-// {
-// nManufacturer = read16(MCP9808_REG_MANUF_ID);// != 0x0054) return false;
-// nDeviceId = read16(MCP9808_REG_DEVICE_ID);//
-//
-// bAutoScan = (0x0054 != nManufacturer || 0x0400 != nDeviceId);
-// m_nAddress++;
-// }
-}
-
-TempModule::~TempModule()
-{
-}
-
-float TempModule::readTempC()
-{
- uint16_t t = read16(MCP9808_REG_AMBIENT_TEMP);
-
- float temp = t & 0x0FFF;
- temp /= 16.0f;
-
- // check to see if signed bit set
- if (t & 0x1000) temp -= 0xff;
-
- return temp;
-}
-
-void TempModule::write16(uint8_t in_nRegister, uint16_t in_nValue)
-{
- char aBuffer[3] = { in_nRegister, in_nValue >> 8, in_nValue & 0xFF };
- m_cI2C.write(MCP9808_I2CADDR_DEFAULT, aBuffer, sizeof(aBuffer));
-}
-
-uint16_t TempModule::read16(uint8_t in_nRegister)
-{
- m_cI2C.write(m_nAddress, (const char *)&in_nRegister, sizeof(in_nRegister));
-
- char aReadBuffer[2];
- m_cI2C.read(m_nAddress, aReadBuffer, sizeof(aReadBuffer));
-
- return (aReadBuffer[0] << 8) | aReadBuffer[1];
-}
-
-void TempModule::show(bool in_bRefresh)
-{
- static time_t nTime = time(NULL) + 1;
- if (in_bRefresh || nTime < time(NULL))
- {
- m_cDisplay.printf("Room: %0.1f%cC ",readTempC(),eDegree);
-
-// uint8_t nValue = read16(MCP9808_REG_MANUF_ID);
-// m_cDisplay.printf("%x - %x - %x ", m_nAddress, nValue,read16(MCP9808_REG_DEVICE_ID));
-
- nTime = time(NULL) + 1;
- }
-}
--- a/Modules/TempModule.h Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-#ifndef __TEMPMODULE_H__
-#define __TEMPMODULE_H__
-
-#include "mbed.h"
-#include "module.h"
-
-class TempModule
- : public Module
-{
-public:
- TempModule
- (
- Serial & in_cDisplay,
- I2C & in_cI2C,
- uint8_t in_nAddress
- );
- virtual ~TempModule();
-
- virtual bool canRefresh() { return true; }
- virtual bool isValid() { return m_bValid; }
- virtual void show(bool in_bRefresh);
-
-protected:
- float readTempC();
- uint16_t read16(uint8_t in_nRegister);
- void write16(uint8_t in_nRegister, uint16_t in_nValue);
-
- I2C & m_cI2C;
- uint8_t m_nAddress;
- bool m_bValid;
-};
-
-#endif /* __TEMPMODULE_H__ */
--- a/Modules/TimeModule.cpp Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-#include "mbed.h"
-#include "TimeModule.h"
-#include "time_helper.h"
-
-#if 0
- tm sTM;
- sTM.tm_sec = 0;
- sTM.tm_min = 0;
- sTM.tm_hour = 18;
- sTM.tm_mday = 9;
- sTM.tm_mon = 8 - 1;
- sTM.tm_year = 2014 - 1900;
- sTM.tm_wday = 6;
-
- rtc.SetTime(sTM,true);
-#endif
-
-
-TimeModule::TimeModule
-(
- Serial & in_cDisplay,
- RTclock & in_cRTclock
-)
- : Module(in_cDisplay)
- , m_cRTclock(in_cRTclock)
-{
- ::memset(&m_sLastTM,0,sizeof(m_sLastTM));
-}
-
-TimeModule::~TimeModule()
-{
-}
-
-void TimeModule::change
-(
- size_t in_nIndex,
- bool in_bUp
-)
-{
- tm sTM;
-
- // to get the current time information
- if (!m_cRTclock.getTime(sTM)) GetTime(sTM);
- bool bTwelveHour = m_cRTclock.isTwelveHour();
-
- enum ETime
- {
- eHourTen = 0,
- eHourSingle,
- eMinTen,
- eMinSingle,
- eSecondTen,
- eSecondSingle,
- eAmPm,
- };
-
- switch (in_nIndex)
- {
- case eHourTen: sTM.tm_hour += (in_bUp ? 1 : -1) * 10; break;
- case eHourSingle: sTM.tm_hour += (in_bUp ? 1 : -1); break;
- case eMinTen: sTM.tm_min += (in_bUp ? 1 : -1) * 10; break;
- case eMinSingle: sTM.tm_min += (in_bUp ? 1 : -1); break;
- case eSecondTen: sTM.tm_sec += (in_bUp ? 1 : -1) * 10; break;
- case eSecondSingle: sTM.tm_sec += (in_bUp ? 1 : -1); break;
- case eAmPm:
- if (bTwelveHour)
- {
- if (in_bUp)
- {
- if (sTM.tm_hour >= 12) bTwelveHour = !bTwelveHour; else sTM.tm_hour += 12;
- }
- else
- {
- if (sTM.tm_hour >= 12) sTM.tm_hour -= 12; else bTwelveHour = !bTwelveHour;
- }
- }
- else
- {
- bTwelveHour = !bTwelveHour;
- if (in_bUp && sTM.tm_hour >= 12) sTM.tm_hour -= 12;
- if (!in_bUp && sTM.tm_hour < 12) sTM.tm_hour += 12;
- }
- break;
- }
-
- if (sTM.tm_hour < 0) sTM.tm_hour = 0;
- if (sTM.tm_hour > 23) sTM.tm_hour = 23;
- if (sTM.tm_min < 0) sTM.tm_min = 0;
- if (sTM.tm_min > 59) sTM.tm_min = 59;
- if (sTM.tm_sec < 0) sTM.tm_sec = 0;
- if (sTM.tm_sec > 59) sTM.tm_sec = 59;
-
- if (m_cRTclock.setTime(sTM,bTwelveHour))
- {
- m_cRTclock.mapTime();
- }
- else
- {
- SetTime(sTM);
- }
-}
-
-int TimeModule::getCursorOffset(size_t & inout_nIndex)
-{
- const int k_aCursor[] = { 0, 1, 3, 4, 6, 7, 10 };
-
- if ((int)inout_nIndex < 0) inout_nIndex = 0;
- if (inout_nIndex >= _countof(k_aCursor)) inout_nIndex = _countof(k_aCursor) - 1;
-
- return k_aCursor[inout_nIndex];
-}
-
-void TimeModule::show(bool in_bRefresh)
-{
- tm sTM;
- const char * pUnits = " ";
-
- // to get the current time information
- if (m_cRTclock.getTime(sTM))
- {
- // Adjust for 12 hour clock
- if (m_cRTclock.isTwelveHour())
- {
- pUnits = (sTM.tm_hour < 12) ? "am":"pm";
- if (sTM.tm_hour > 12) sTM.tm_hour %= 12;
- }
- }
- else
- {
- // If failed get internal time (as at least that's something
- GetTime(sTM);
- }
-
- // if refreshing - only update if there's a change
- if (in_bRefresh)
- {
- // Check for change based on second (rest is irrelevant)
- if (sTM.tm_sec == m_sLastTM.tm_sec) return;
- }
-
- // Ensure internal struct has new TM data
- ::memcpy(&m_sLastTM,&sTM,sizeof(m_sLastTM));
-
- m_cDisplay.printf ("%02i:%02i:%02i %s ", sTM.tm_hour, sTM.tm_min, sTM.tm_sec, pUnits);
-}
--- a/Modules/TimeModule.h Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-#ifndef __TIMEMODULE_H__
-#define __TIMEMODULE_H__
-
-#include "module.h"
-#include "RTclock.h"
-
-class TimeModule
- : public Module
-{
-public:
- TimeModule
- (
- Serial & in_cDisplay,
- RTclock & in_cRTclock
- );
- virtual ~TimeModule();
-
- virtual bool canRefresh() { return true; }
- virtual void change
- (
- size_t in_nIndex,
- bool in_bUp
- );
- virtual int getCursorOffset(size_t & inout_nIndex);
- virtual void show(bool in_bRefresh);
-
-protected:
- RTclock & m_cRTclock;
- tm m_sLastTM;
-};
-
-#endif /* __TIMEMODULE_H__ */
--- a/Modules/TitleModule.cpp Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-#include "mbed.h"
-#include "TitleModule.h"
-#include "time_helper.h"
-
-TitleModule::TitleModule
-(
- Serial & in_cDisplay,
- RTclock & in_cRTclock
-)
- : Module(in_cDisplay)
- , m_cRTclock(in_cRTclock)
-{
- ::memset(&m_sLastTM,0,sizeof(m_sLastTM));
-}
-
-TitleModule::~TitleModule()
-{
-}
-
-void TitleModule::show(bool in_bRefresh)
-{
- tm sTM;
-
- // to get the current time information
- if (!m_cRTclock.getTime(sTM)) GetTime(sTM);
-
- // if refreshing - only update if there's a change
- if (in_bRefresh)
- {
- // Check for change based on hour (rest is irrelevant)
- if (sTM.tm_hour == m_sLastTM.tm_hour) return;
- }
-
- // Ensure internal struct has new TM data
- ::memcpy(&m_sLastTM,&sTM,sizeof(m_sLastTM));
- if (sTM.tm_hour < 6) m_cDisplay.printf("Night Time ");
- else if (sTM.tm_hour < 12) m_cDisplay.printf("Morning Time ");
- else if (sTM.tm_hour < 18) m_cDisplay.printf("Afternoon Time ");
- else if (sTM.tm_hour < 21) m_cDisplay.printf("Evening Time ");
- else m_cDisplay.printf("Bedtime ");
-}
--- a/Modules/TitleModule.h Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-#ifndef __TITLEMODULE_H__
-#define __TITLEMODULE_H__
-
-#include "module.h"
-#include "RTclock.h"
-
-class TitleModule
- : public Module
-{
-public:
- TitleModule
- (
- Serial & in_cDisplay,
- RTclock & in_cRTclock
- );
- virtual ~TitleModule();
-
- virtual bool canRefresh() { return true; }
- virtual void show(bool in_bRefresh);
-
-protected:
- RTclock & m_cRTclock;
- tm m_sLastTM;
-};
-
-#endif /* __TITLEMODULE_H__ */
--- a/Modules/module.cpp Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-#include "mbed.h"
-#include "Adafruit_RGBLCDShield.h"
-#include "module.h"
-
-Module::Module(Serial & in_cDisplay)
- : m_cDisplay(in_cDisplay)
-{
-}
-
-Module::~Module()
-{
-}
--- a/Modules/module.h Tue Jun 16 11:56:16 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-#ifndef __MODULE_H__
-#define __MODULE_H__
-
-#ifndef _countof
- #define _countof(a) (sizeof(a) / sizeof(a[0]))
-#endif
-
-class Module
-{
-public:
- enum EModes
- {
- eModeMenu = 0,
- eModeSelect,
- eModeChange,
- eModeLast
- };
-
-public:
- Module(Serial & in_cDisplay);
- virtual ~Module();
-
- virtual bool canRefresh() { return false; }
- virtual void change
- (
- size_t in_nIndex,
- bool in_bUp
- )
- { ; }
- virtual int getCursorOffset(size_t & inout_nIndex)
- { return -1; }
- virtual void onModeChange(EModes in_eMode)
- { ; }
- virtual void show(bool in_bRefresh) = 0;
-
-protected:
- Serial & m_cDisplay;
-};
-
-#endif /* __MODULE_H__ */
--- a/RTclock.lib Tue Jun 16 11:56:16 2015 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://mbed.org/users/vtraveller/code/RTclock/#bdc15c054ac1
--- a/console_chat.cpp Tue Jun 16 11:56:16 2015 +0000
+++ b/console_chat.cpp Tue Jul 14 14:58:23 2015 +0000
@@ -2,7 +2,7 @@
#include "sx1276-hal.h"
#include "main.h"
#include "debug.h"
-#include "vt100.h"
+//radfta #include "vt100.h"
#include "serial_api.h"
void console_chat()
@@ -57,7 +57,7 @@
void print_help()
{
- ctrl.cls();
+ //radfta ctrl.cls();
printf(" Radio Utilities \r\n");
printf("-----------------------------------------\r\n");
print_status();
@@ -135,26 +135,26 @@
AlwaysMaster=false;
break;
case 'G':
- ctrl.cls();
+ // radfta ctrl.cls();
debug("Starting GPS exchange\r\n");
gpsEnabled = true;
fflush(stdout);
app = APP_HELLO;
- gpsd.l_latitude = gpsd.l_longitude = gpsd.r_latitude = gpsd.r_longitude = 0;
+ // radfta gpsd.l_latitude = gpsd.l_longitude = gpsd.r_latitude = gpsd.r_longitude = 0;
Radio.Rx( RX_TIMEOUT_VALUE );
Radio.Tx( TX_TIMEOUT_VALUE );
break;
case 'P':
- ctrl.cls();
+ // radfta ctrl.cls();
debug("Starting ping pong app\r\n");
fflush(stdout);
app = APP_PING;
- gpsd.l_latitude = gpsd.l_longitude = gpsd.r_latitude = gpsd.r_longitude = 0;
+ // radfta gpsd.l_latitude = gpsd.l_longitude = gpsd.r_latitude = gpsd.r_longitude = 0;
Radio.Rx( RX_TIMEOUT_VALUE );
Radio.Tx( TX_TIMEOUT_VALUE );
break;
case 'H':
- ctrl.cls();
+ // radfta ctrl.cls();
debug("Starting hello exchange\r\n");
gpsEnabled = false;
fflush(stdout);
@@ -163,7 +163,7 @@
Radio.Tx( TX_TIMEOUT_VALUE );
break;
case 'C':
- ctrl.cls();
+ // radfta ctrl.cls();
printf("Starting chat app\r\n");
//printf("-chat-> ");
fflush(stdout);
--- a/hello.cpp Tue Jun 16 11:56:16 2015 +0000
+++ b/hello.cpp Tue Jul 14 14:58:23 2015 +0000
@@ -2,7 +2,7 @@
#include "sx1276-hal.h"
#include "main.h"
#include "debug.h"
-#include "vt100.h"
+// radfta #include "vt100.h"
#include "serial_api.h"
#include "GPS.h"
#include <math.h>
@@ -46,6 +46,7 @@
float a = 0;
float d = 0;
+#ifdef radfta
gpsd.distance = 0;
if (gpsd.l_latitude == 0.0)
{
@@ -80,13 +81,13 @@
}
gpsd.distance = gpsd.distance + d;
// printf("distance: %f\r\n", gpsd.distance);
-
+#endif
}
void check_gps(void)
{
static int gps_count=0;
-
+#ifdef radfta
if (gps_count >= 0)
{
//printf("checking gps\r\n");
@@ -157,7 +158,7 @@
//printf("not checking gps\r\n");
gps_count++;
}
-
+#endif
}
void hello(void)
@@ -200,8 +201,8 @@
printf("rx timeout in gps/hello loop. ");
printf("per=%d\r\n", per);
- gpsd.r_latitude = 0;
- gpsd.r_longitude = 0;
+ // radfta gpsd.r_latitude = 0;
+ // radfta gpsd.r_longitude = 0;
// printf("rcv - rssi = %d snr = %d msg=%s\r\n", RssiValue, SnrValue, BufferRx);
cLCD.setCursor(0,0);
cLCD.printf("RI:NA SR:NA ");
@@ -220,30 +221,37 @@
else
{
// float latitude, longitude;
+#ifdef radfta
if(sscanf((char *)BufferRx, "GP,%f,%f", &gpsd.r_latitude, &gpsd.r_longitude ) >= 1)
{
led = !led;
printf("rssi=%d snr=%d rlat=%0.5f rlon=%0.5f llat=%0.5f llon=%0.5f dst=%0.0fm ", RssiValue, SnrValue, gpsd.r_latitude, gpsd.r_longitude, gpsd.l_latitude, gpsd.l_longitude, gpsd.distance);
printf("per=%d\r\n", per);
-
cLCD.setCursor(0,0);
cLCD.printf("RI:%d SR:%d ", RssiValue,SnrValue);
//printf("Msg received - Lat: %0.4f Lon: %0.4f\r\n", latitude, longitude);
}
else
printf("strange received message: %s\r\n", BufferRx);
- }
+#else
+ cLCD.setCursor(0,0);
+ cLCD.printf("RI:%d SR:%d ", RssiValue,SnrValue);
+ printf("received message: %s\r\n", BufferRx);
+#endif
+ }
}
case RX_ERROR:
if (gpsEnabled)
{
check_gps();
}
+#ifdef radfta
if (gpsEnabled)
sprintf((char *)BufferTx, "GP,%4.5f,%4.5f", gpsd.l_latitude, gpsd.l_longitude);
else
+#else
strcpy( ( char* )BufferTx, ( char* )HelloMsg );
-
+#endif
BufferSize=strlen((char *)BufferTx);
//printf("Sending new buffer\r\n");
Radio.Send( BufferTx, BufferSize );
--- a/main.cpp Tue Jun 16 11:56:16 2015 +0000
+++ b/main.cpp Tue Jul 14 14:58:23 2015 +0000
@@ -1,22 +1,22 @@
#include "mbed.h"
#include "lcdadafruit.h"
-#include "keyreaderadafruit.h"
-#include "keyreadernull.h"
-#include "RTclock.h"
-#include "DateModule.h"
-#include "TempModule.h"
-#include "TimeModule.h"
-#include "TitleModule.h"
-#include "SyncModule.h"
-#include "GPSModule.h"
-#include "LatitudeModule.h"
-#include "RadioModule.h"
-#include "MenuManager.h"
+//radfta #include "keyreaderadafruit.h"
+//radfta #include "keyreadernull.h"
+// #include "RTclock.h"
+//#include "DateModule.h"
+//#include "TempModule.h"
+//#include "TimeModule.h"
+//#include "TitleModule.h"
+//#include "SyncModule.h"
+//#include "GPSModule.h"
+//#include "LatitudeModule.h"
+//#include "RadioModule.h"
+//#include "MenuManager.h"
#include "sx1276-hal.h"
#include "GPS.h"
#include "main.h"
#include "debug.h"
-#include "vt100.h"
+//#include "vt100.h"
#include "serial_api.h"
@@ -26,8 +26,8 @@
//#define RF_FREQUENCY 868000000 // Hz
//#define RF_FREQUENCY 880030000
-//#define RF_FREQUENCY 915000000.0 // Hz
-#define RF_FREQUENCY 413000000.0 // Hz
+#define RF_FREQUENCY 915000000.0 // Hz
+//#define RF_FREQUENCY 413000000.0 // Hz
#define TX_OUTPUT_POWER 20 // 14 dBm
#define LORA_BANDWIDTH 2 // [0: 125 kHz,
// 1: 250 kHz,
@@ -69,7 +69,7 @@
*/
typedef RadioState States_t;
volatile States_t State = LOWPOWER;
-vt100 ctrl;
+// radfta vt100 ctrl;
SX1276MB1xAS Radio( OnTxDone, OnTxTimeout, OnRxDone, OnRxTimeout, OnRxError, NULL, NULL );
// for hand wired I2C cI2C(PTC9, PTC8);
@@ -336,7 +336,7 @@
{
int i;
- gpsd.setBaud57600();
+ // radfta gpsd.setBaud57600();
pc.baud(9600);
//pc.baud(57600);
cI2C.frequency(400000); // I2C can handle two different frequencies - switch to high speed if asked
@@ -397,15 +397,7 @@
pc.printf("Starting GPS App\r\n");
}
- while( 0 )
- {
- static int count =1;
- cLCD.setCursor(0,1);
- wait(1);
- cLCD.printf("%d ",count);
- count++;
-
- }
+
while( 1 )
{
// wait_ms( 50 );
@@ -434,42 +426,5 @@
} // ...switch (app)
}
-
-
- //KeyReaderNull cKeys(cI2C);
-#if 0
- KeyReaderAdafruit cKeys(cI2C);
-
- RTclock cClock(cI2C, 0x68 << 1, RTclock::eDS3231);
-
- // Spin up RTC
- cClock.mapTime();
-
- // Set up display modules
- Module * aModules[] =
- {
- //new TitleModule(cLCD,cClock),
- // new TempModule(cLCD,cI2C,0x18 << 1),
- // new TimeModule(cLCD,cClock),
- // new DateModule(cLCD,cClock),
- new RadioModule(cLCD,cClock),
- new LatitudeModule(cLCD,cClock),
- new GPSModule(cLCD,cClock),
- };
-
-
- // Set up the menu manager
- // MenuManager cMenuManager(aModules,_countof(aModules),cLCD,cKeys,16,2);
- MenuManager cMenuManager(aModules,_countof(aModules),cLCD,cKeys);
-
-
- // Start menu manager loop
-
-
-
-
- cMenuManager.loop();
-#endif
-
}
--- a/main.h Tue Jun 16 11:56:16 2015 +0000 +++ b/main.h Tue Jul 14 14:58:23 2015 +0000 @@ -14,9 +14,11 @@ */ #ifndef __MAIN_H__ #define __MAIN_H__ -#include "vt100.h" #include "lcdadafruit.h" #include "GPS.h" +#include "enums.h" +#include "typedefs.h" + /* * Callback functions prototypes */ @@ -101,7 +103,7 @@ extern uint16_t BufferSize; extern uint8_t BufferTx[]; extern uint8_t BufferRx[]; -extern vt100 ctrl; +// radfta extern vt100 ctrl; extern float Frequency; extern int TxPower; extern int Bandwidth;
--- a/ping_pong.cpp Tue Jun 16 11:56:16 2015 +0000
+++ b/ping_pong.cpp Tue Jul 14 14:58:23 2015 +0000
@@ -2,7 +2,7 @@
#include "sx1276-hal.h"
#include "main.h"
#include "debug.h"
-#include "vt100.h"
+// radfta #include "vt100.h"
#include "serial_api.h"
void start_ping_pong(void)
@@ -33,7 +33,7 @@
{
static uint8_t i;
// static bool isMaster = true;
- vt100 ctrl;
+ // radfta vt100 ctrl;
static int xmit_count = 0;
//ctrl.cls();
--- a/utilities.cpp Tue Jun 16 11:56:16 2015 +0000 +++ b/utilities.cpp Tue Jul 14 14:58:23 2015 +0000 @@ -2,7 +2,7 @@ #include "sx1276-hal.h" #include "main.h" #include "debug.h" -#include "vt100.h" +//radfta #include "vt100.h" #include "serial_api.h" int get_kbd_str(char* buf, int size)
--- a/vt100.lib Tue Jun 16 11:56:16 2015 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://developer.mbed.org/teams/CaryCoders/code/vt100/#0a86bf429b6f
