SW encryption

Revision:
49:3b27f622a798
Parent:
48:b2afcf2d41fb
--- a/main.cpp	Tue Mar 19 16:06:19 2019 +0000
+++ b/main.cpp	Tue Apr 30 03:03:03 2019 +0000
@@ -1,19 +1,3 @@
-/**
- * Copyright (c) 2017, Arm Limited and affiliates.
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
 #include <stdio.h>
 #include <iostream>
 
@@ -33,8 +17,8 @@
 // Max payload size can be LORAMAC_PHY_MAXPAYLOAD.
 // This example only communicates with much shorter messages (<30 bytes).
 // If longer messages are used, these buffers must be changed accordingly.
-uint8_t tx_buffer[44];
-uint8_t rx_buffer[44];
+uint8_t tx_buffer[128];
+uint8_t rx_buffer[128];
 
 /*
  * Sets up an application dependent transmission timer in ms. Used only when Duty Cycling is off for testing
@@ -153,41 +137,45 @@
 static void send_message() {
   uint16_t packet_cont;
   int16_t loraStatus;
-  /*****************************************************************************************************/
-
-  uint8_t hash_content = 77;
-  char hash_str[] = "";
-  sprintf(hash_str, "%d", hash_content);
-
-  static const unsigned char * hash_buffer = (const unsigned char * ) hash_str;
-  static const size_t hash_len = strlen(hash_str);
+  uint8_t hash_content;
+  uint8_t sensor_val;
   unsigned char output[32];
+  
+  //Begin sensor
+  if (ds1820.begin()) {
+        ds1820.startConversion();
+        sensor_val = ds1820.read();
+        ds1820.startConversion();
+    } else {
+        printf("\r\n No sensor found \r\n");
+        return;
+    }
 
-  mbedtls_sha256(hash_buffer, hash_len, output, 0);
+  hash_content = sensor_val;                                                    //Assign sensor value to hash_content
+  printf("\r\n %d sensor value \r\n", hash_content);                            //print to check value
+  char hash_str[] = "";                                                         //create new char array
+  sprintf(hash_str, "%d", hash_content);                                        //put value into new char array
 
-  const char * c = (const char * ) output;
+  static const unsigned char * hash_buffer = (const unsigned char * ) hash_str; //cast char array to const unsigned char
+  static const size_t hash_len = strlen(hash_str);                              //get size of message
 
-  /*****************************************************************************************************/
+
+  mbedtls_sha256(hash_buffer, hash_len, output, 0);                             //hash message
 
-  packet_cont = sprintf((char * ) tx_buffer, c);
+  const char * c = (const char * ) output;                                      //put hashed message into char
 
-  loraStatus = lorawan.send(MBED_CONF_LORA_APP_PORT, tx_buffer, packet_cont,
+  packet_cont = sprintf((char * ) tx_buffer, "%d%s",hash_content , c);          //build message with original value + hashed message
+
+  loraStatus = lorawan.send(MBED_CONF_LORA_APP_PORT, tx_buffer, packet_cont,    //send message
     MSG_UNCONFIRMED_FLAG);
 
-  if (loraStatus < 0) {
+  if (loraStatus < 0) {                                                         //perform checks to confirm message is sent
     loraStatus == LORAWAN_STATUS_WOULD_BLOCK ? printf("send - WOULD BLOCK\r\n") :
-      printf("\r\n send() - Error code %d \r\n", loraStatus);
-
-    if (loraStatus == LORAWAN_STATUS_WOULD_BLOCK) {
-      //retry in 3 seconds
-      if (MBED_CONF_LORA_DUTY_CYCLE_ON) {
-        ev_queue.call_in(3000, send_message);
-      }
-    }
+    printf("\r\n send() - Error code %d \r\n", loraStatus);
     return;
   }
 
-  printf("\r\n %d bytes scheduled for transmission \r\n", loraStatus);
+  printf("\r\n %d bytes scheduled for transmission \r\n", loraStatus);          //print if successful and clear tx buffer
   memset(tx_buffer, 0, sizeof(tx_buffer));
 }
 /**