Lora support for the STM B_L072Z_LRWAN1 board out of the box. Also supports HopeRF RFM95, Murata CMWX1ZZABZ and Semtech SX1276MB1MAS/SX1276MB1LAS modules.

Dependencies:   BufferedSerial SX1276GenericLib mbed USBDeviceHT

Revision:
13:5a32a1922fbc
Parent:
8:3b0d7b4ff28f
Child:
16:675f4d0ee9e9
--- a/main.cpp	Tue Jul 11 11:37:03 2017 +0000
+++ b/main.cpp	Tue Aug 08 08:49:06 2017 +0000
@@ -9,67 +9,20 @@
  * IMPORTANT NOTE
  * Use the Nucleo-L073RZ target for the STM B_L072Z_LRWAN1 LoRa board 
  */
-DigitalOut myled(LED1);
+DigitalOut myled(LED2);
 BufferedSerial *ser;
 
 int main() {
-    SystemClock_Config();
     ser = new BufferedSerial(USBTX, USBRX);
     ser->baud(115200*2);
     ser->format(8);
     ser->printf("Hello World\n\r");
     myled = 1;
-    
+
     SX1276PingPong();
 }
 
 
-
-
-void SystemClock_Config(void)
-{
-#ifdef B_L072Z_LRWAN1_LORA
-    /* 
-     * The L072Z_LRWAN1_LORA clock setup is somewhat differnt from the Nucleo board.
-     * It has no LSE.
-     */
-    RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
-    RCC_OscInitTypeDef RCC_OscInitStruct = {0};
-
-    /* Enable HSE Oscillator and Activate PLL with HSE as source */
-    RCC_OscInitStruct.OscillatorType      = RCC_OSCILLATORTYPE_HSI;
-    RCC_OscInitStruct.HSEState            = RCC_HSE_OFF;
-    RCC_OscInitStruct.HSIState            = RCC_HSI_ON;
-    RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
-    RCC_OscInitStruct.PLL.PLLState        = RCC_PLL_ON;
-    RCC_OscInitStruct.PLL.PLLSource       = RCC_PLLSOURCE_HSI;
-    RCC_OscInitStruct.PLL.PLLMUL          = RCC_PLLMUL_6;
-    RCC_OscInitStruct.PLL.PLLDIV          = RCC_PLLDIV_3;
-
-    if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
-        // Error_Handler();
-    }
-
-    /* Set Voltage scale1 as MCU will run at 32MHz */
-    __HAL_RCC_PWR_CLK_ENABLE();
-    __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
-
-    /* Poll VOSF bit of in PWR_CSR. Wait until it is reset to 0 */
-    while (__HAL_PWR_GET_FLAG(PWR_FLAG_VOS) != RESET) {};
-
-    /* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2
-    clocks dividers */
-    RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
-    RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
-    RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
-    RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
-    RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
-    if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK) {
-        // Error_Handler();
-    }
-#endif
-}
-
 void dump(const char *title, const void *data, int len, bool dwords)
 {
     dprintf("dump(\"%s\", 0x%x, %d bytes)", title, data, len);