Sfoglia il codice sorgente

variants: Nano G2 Ultra: Use common implementation of startOTAUpdate()

Signed-off-by: Frieder Schrempf <frieder@fris.de>
Frieder Schrempf 7 mesi fa
parent
commit
fa48d4fe81
2 ha cambiato i file con 2 aggiunte e 63 eliminazioni
  1. 0 61
      variants/nano_g2_ultra/nano-g2.cpp
  2. 2 2
      variants/nano_g2_ultra/nano-g2.h

+ 0 - 61
variants/nano_g2_ultra/nano-g2.cpp

@@ -3,25 +3,8 @@
 
 #ifdef NANO_G2_ULTRA
 
-#include <bluefruit.h>
 #include <Wire.h>
 
-static BLEDfu bledfu;
-
-static void connect_callback(uint16_t conn_handle)
-{
-  (void)conn_handle;
-  MESH_DEBUG_PRINTLN("BLE client connected");
-}
-
-static void disconnect_callback(uint16_t conn_handle, uint8_t reason)
-{
-  (void)conn_handle;
-  (void)reason;
-
-  MESH_DEBUG_PRINTLN("BLE client disconnected");
-}
-
 void NanoG2Ultra::begin()
 {
   NRF52Board::begin();
@@ -56,48 +39,4 @@ uint16_t NanoG2Ultra::getBattMilliVolts()
   // divider into account (providing the actual LIPO voltage)
   return (uint16_t)((float)adcvalue * REAL_VBAT_MV_PER_LSB);
 }
-
-bool NanoG2Ultra::startOTAUpdate(const char *id, char reply[])
-{
-  // Config the peripheral connection with maximum bandwidth
-  // more SRAM required by SoftDevice
-  // Note: All config***() function must be called before begin()
-  Bluefruit.configPrphBandwidth(BANDWIDTH_MAX);
-  Bluefruit.configPrphConn(92, BLE_GAP_EVENT_LENGTH_MIN, 16, 16);
-
-  Bluefruit.begin(1, 0);
-  // Set max power. Accepted values are: -40, -30, -20, -16, -12, -8, -4, 0, 4
-  Bluefruit.setTxPower(4);
-  // Set the BLE device name
-  Bluefruit.setName("NANO_G2_OTA");
-
-  Bluefruit.Periph.setConnectCallback(connect_callback);
-  Bluefruit.Periph.setDisconnectCallback(disconnect_callback);
-
-  // To be consistent OTA DFU should be added first if it exists
-  bledfu.begin();
-
-  // Set up and start advertising
-  // Advertising packet
-  Bluefruit.Advertising.addFlags(BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE);
-  Bluefruit.Advertising.addTxPower();
-  Bluefruit.Advertising.addName();
-
-  /* Start Advertising
-    - Enable auto advertising if disconnected
-    - Interval:  fast mode = 20 ms, slow mode = 152.5 ms
-    - Timeout for fast mode is 30 seconds
-    - Start(timeout) with timeout = 0 will advertise forever (until connected)
-
-    For recommended advertising interval
-    https://developer.apple.com/library/content/qa/qa1931/_index.html
-  */
-  Bluefruit.Advertising.restartOnDisconnect(true);
-  Bluefruit.Advertising.setInterval(32, 244); // in unit of 0.625 ms
-  Bluefruit.Advertising.setFastTimeout(30);   // number of seconds in fast mode
-  Bluefruit.Advertising.start(0);             // 0 = Don't stop advertising after n seconds
-
-  strcpy(reply, "OK - started");
-  return true;
-}
 #endif

+ 2 - 2
variants/nano_g2_ultra/nano-g2.h

@@ -35,11 +35,11 @@
 #define PIN_VBAT_READ            (0 + 2)
 #define REAL_VBAT_MV_PER_LSB     (VBAT_DIVIDER_COMP * VBAT_MV_PER_LSB)
 
-class NanoG2Ultra : public NRF52Board {
+class NanoG2Ultra : public NRF52BoardOTA {
 public:
+  NanoG2Ultra() : NRF52BoardOTA("NANO_G2_OTA") {}
   void begin();
   uint16_t getBattMilliVolts() override;
-  bool startOTAUpdate(const char *id, char reply[]) override;
 
   const char *getManufacturerName() const override { return "Nano G2 Ultra"; }