EEPROM for SX1272

Dependencies:   X_NUCLEO_IKS01A1 driver_mbed_TH02 LoRaWAN-lib-v1_0_1 SX1272Lib mbed

Fork of Canada-SX1272-LoRaWAN-Bootcamp by Uttam Bhat

Revision:
0:6cc76d70e2a1
Child:
1:428dbf097fe6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/board/board.h	Thu Apr 06 21:59:50 2017 +0000
@@ -0,0 +1,88 @@
+/*
+ / _____)             _              | |
+( (____  _____ ____ _| |_ _____  ____| |__
+ \____ \| ___ |    (_   _) ___ |/ ___)  _ \
+ _____) ) ____| | | || |_| ____( (___| | | |
+(______/|_____)_|_|_| \__)_____)\____)_| |_|
+    (C)2015 Semtech
+
+Description: Target board general functions implementation
+
+License: Revised BSD License, see LICENSE.TXT file include in the project
+
+Maintainer: Miguel Luis and Gregory Cristian
+*/
+#ifndef __BOARD_H__
+#define __BOARD_H__
+
+#include "Config.h"
+#include "mbed.h"
+#include "system/timer.h"
+#include "debug.h"
+#include "system/utilities.h"
+#include "sx1272-hal.h"
+
+#ifdef USE_IKS01A1_SENSOR
+#include "x_nucleo_iks01a1.h"
+#endif
+
+/*!
+ * Unique Devices IDs register set ( STM32L1xxx )
+ */
+#define         ID1                                 ( 0x1FF800D0 )
+#define         ID2                                 ( 0x1FF800D4 )
+#define         ID3                                 ( 0x1FF800E4 )
+
+#define LOW_BAT_THRESHOLD   3.45
+#define AIN_VREF            3.3     // STM32 internal refernce
+#define AIN_VBAT_DIV        2       // Resistor divider
+
+extern SX1272MB2xAS Radio;
+
+extern DigitalIn UsrButton;
+
+extern AnalogOut UsrLED;
+
+#ifdef USE_IKS01A1_SENSOR
+extern X_NUCLEO_IKS01A1 *mems_expansion_board;
+extern MotionSensor *accelerometer;
+extern HumiditySensor *humidity_sensor;
+extern PressureSensor *pressure_sensor;
+extern TempSensor *temp_sensor1;
+extern TempSensor *temp_sensor2;
+#endif
+
+/*!
+ * \brief Initializes the target board peripherals.
+ */
+void BoardInit( void );
+
+/*!
+ * \brief Measure the Battery level
+ *
+ * \retval value  battery level ( 0: very low, 254: fully charged )
+ */
+uint8_t BoardGetBatteryLevel( void );
+
+/*!
+ * Returns a pseudo random seed generated using the MCU Unique ID
+ *
+ * \retval seed Generated pseudo random seed
+ */
+uint32_t BoardGetRandomSeed( void );
+
+/*!
+ * \brief Generates Lower 32 bits of DEVEUI using 96 bits unique device ID 
+ *
+ * \param [IN] id Pointer to an array that will contain the Unique ID
+ */
+void BoardGetDevEUI( uint8_t *id );
+
+/*!
+ * \brief Gets the board 64 bits unique ID 
+ *
+ * \param [IN] id Pointer to an array that will contain the Unique ID
+ */
+void BoardGetUniqueId( uint8_t *id );
+
+#endif // __BOARD_H__