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: BufferedSerial C12832 EndpointMain-rfid EthernetInterface Logger StatusReporter-df2014 mbed-rtos mbed
Fork of df-2014-workshop-rfid-case-generator-k64f by
main.cpp
- Committer:
- ansond
- Date:
- 2014-08-29
- Revision:
- 22:1b9e29933ab3
- Parent:
- 20:f548e2de5b0b
- Child:
- 25:89a505a8e61c
File content as of revision 22:1b9e29933ab3:
/* Copyright C2014 ARM, MIT License
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software
* and associated documentation files the "Software", to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge, publish, distribute,
* sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or
* substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
* BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
// StatusReporter
#include "StatusReporter.h"
// appboard LCD Panel
#if _NXP_PLATFORM || _UBLOX_PLATFORM
#include "C12832_lcd.h"
C12832_LCD lcd;
#endif
// our Serial port
#include "Serial.h"
Serial pc(USBTX, USBRX);
// Ethernet
#include "EthernetInterface.h"
EthernetInterface ethernet;
// HTTP
#include "HTTPClient.h"
HTTPClient http;
// HARD RESET
extern "C" void HardFault_Handler() { NVIC_SystemReset(); }
// Main Entry...
int main() {
// create our object instances
#if _NXP_PLATFORM || _UBLOX_PLATFORM
ErrorHandler logger(&pc,&lcd);
#endif
#if _K64F_PLATFORM
ErrorHandler logger(&pc,NULL);
#endif
// announce
logger.log("ARM/DreamForce 2014 mbed Status Reporter v%s",APP_VERSION);
logger.turnLEDBlue();
// initialize Ethernet
logger.log("Initializing Ethernet...");
ethernet.init();
// get a DHCP address and bring the network interface up
logger.log("Getting IP Address...");
logger.turnLEDOrange();
if (ethernet.connect() == 0) {
// log our IP address (DHCP)
logger.log("IP Address: %s",ethernet.getIPAddress());
// create the StatusReporter
StatusReporter status_reporter(&logger,(void *)&http);
// entering main loop
logger.log("Entering Main Loop...\r\nScanning...");
logger.turnLEDGreen();
// Enter the main loop
while(true) {
// check and report on status updates
status_reporter.checkAndReportOnStatus();
// wait a bit and look again
wait_ms(WAIT_TIME_MS);
}
}
else {
logger.log("No Network... Exiting...");
logger.turnLEDRed();
exit(1);
}
// disconnect
logger.log("Disconnecting...");
logger.turnLEDOrange();
ethernet.disconnect();
// Exit
logger.log("Exiting...");
logger.turnLEDBlue();
exit(1);
}

