Dreamforce 2014 Workshop RFID Case Generator - FRDM-K64F

Dependencies:   EndpointMain-rfid EthernetInterface StatusReporter BufferedSerial mbed-rtos mbed Logger C12832

Fork of df-2014-workshop-rfid-case-generator-ublox by Doug Anson

Files at this revision

API Documentation at this revision

Comitter:
ansond
Date:
Wed Aug 27 18:30:05 2014 +0000
Parent:
5:606c2b0be78b
Child:
7:5d6e03557246
Commit message:
updates

Changed in this revision

Definitions.h Show annotated file Show diff for this revision Revisions of this file
SalesforceCaseGenerator.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/Definitions.h	Wed Aug 27 18:10:18 2014 +0000
+++ b/Definitions.h	Wed Aug 27 18:30:05 2014 +0000
@@ -40,6 +40,9 @@
  // DF2014 CaseGenerator Relay for mbed - ties into the Salesforce APEX host for case generation
  #define DF_CASE_GEN_URL           "https://df2014-arm-developer-edition.na15.force.com/services/apexrest/CaseService"
  
+ // Enable/Disable RFID ID12 usage
+ #define ID12_ENABLE               false    // true - enable, false - disable
+ 
  // Buffer length for HTTPS requests
  #define BUFFER_LENGTH             256
  
--- a/SalesforceCaseGenerator.lib	Wed Aug 27 18:10:18 2014 +0000
+++ b/SalesforceCaseGenerator.lib	Wed Aug 27 18:30:05 2014 +0000
@@ -1,1 +1,1 @@
-SalesforceCaseGenerator#8ad19b204ddf
+SalesforceCaseGenerator#f506cc61e09e
--- a/main.cpp	Wed Aug 27 18:10:18 2014 +0000
+++ b/main.cpp	Wed Aug 27 18:30:05 2014 +0000
@@ -19,9 +19,11 @@
  // our definitions
  #include "Definitions.h"
 
- // RFID Reader - on P14 pin 
- //#include "ID12RFID.h"
- //ID12RFID rfid_reader(p14); 
+ // RFID Reader - on P14 pin  
+ #if ID12_ENABLE
+    #include "ID12RFID.h"
+    ID12RFID rfid_reader(p14);
+ #endif 
 
  // Salesforce Case Generator
  #include "SalesForceCaseGenerator.h"
@@ -44,6 +46,9 @@
  #include "EthernetInterface.h"
  EthernetInterface ethernet;
  
+ // HARD RESET
+extern "C" void HardFault_Handler() { NVIC_SystemReset(); }
+
  // Main Entry...
  int main() {
     // create our object instances
@@ -68,17 +73,19 @@
         // create the Salesforce Case Generator
         SalesForceCaseGenerator case_generator(&logger);
         
-        /*
         // Enter the main loop
         while(true) {
+#if ID12_ENABLE
             // look for a readable RFID tag
+            logger.log("RFID: Scanning...");
             if(rfid_reader.readable()) {
                 // capture the RFID id...
+                logger.log("RFID: Found RFID.\r\nReading...");
                 int rfid = rfid_reader.read();
-                logger.log("RFID: %d found...\r\nProcessing...",rfid);
+                logger.log("RFID: ID %d found...\r\nProcessing...",rfid);
                 
                 // look it up in our WidgetDB... proceed only if we find something we know about...
-                //char *name = db.lookupWidgetName(rfid);
+                char *name = db.lookupWidgetName(rfid);
                 if (name != NULL) {
                     // build out a simple subject for the case
                     char subject[MAX_NAME_LENGTH+1];
@@ -99,24 +106,29 @@
                     logger.log("RFID unknown. Ignoring...");
                 }
              }
+#else 
+             // simply create and dispatch a single case
+             logger.log("Creating Case...");
+             bool success = case_generator.createCase("sample mbed case","this is a sample mbed case");
+             if (success == true) {
+                 logger.log("Case Generated!");
+                 logger.log("Exiting...");
+                 exit(1);
+             }
+             else {
+                 logger.log("Case Generation FAILED");
+                 logger.log("Exiting...");
+                 exit(1);
+             }
+#endif
           
              // wait a bit and look again
              wait_ms(WAIT_TIME_MS);
           }
-          
-          */
-          
-          logger.log("Generating Sample Case...");
-          bool success = case_generator.createCase("hello mbed","this is a mbed case dispatch");
-          if (success == true) {
-            logger.log("Case Generated!");
-          }
-          else {
-            logger.log("Case Generation FAILED");
-          }
      }
      else {
          logger.log("No Network... Exiting...");
+         exit(1);
      }
      
      // disconnect
@@ -124,6 +136,6 @@
      ethernet.disconnect();
      
      // Exit
-     logger.log("Sleeping...");
-     while(1) wait(1000);
+     logger.log("Exiting...");
+     exit(1);
   }
\ No newline at end of file