Cellular module AT Serial interface passthrough to Debug COM port. This program can be used on the C030 boards excluding the C030 N2xx version.

Revision:
1:f39e92fcdf5e
Parent:
0:fd90bb768e20
--- a/main.cpp	Thu May 10 14:53:51 2018 +0000
+++ b/main.cpp	Fri Aug 30 11:26:10 2019 +0500
@@ -14,21 +14,25 @@
  * limitations under the License.
  */
 
+/* The example program for the u-blox C030 boards. It sets up
+ * - the GNSS module  for automatic fix
+ * - the I2C3 Bus to access bq27441 Battery Charger
+ * - the bq27441 Battery Charger.
+ *
+ */
+
 #include "mbed.h"
 #include "gnss.h"
-#include "battery_charger_bq24295.h"
+#include "battery_gauge_bq27441.h"
 #include "UbloxCellularDriverGen.h"
 #include "onboard_modem_api.h"
 
-// Set the minimum input voltage limit for the BQ24295 to 3.8 Volt
+// Set the Baudrate for mcu(pc) and modem(dev)
+#define BAUDRATE 115200
+
+// Set the minimum input voltage limit for the bq27441 to 3.8 Volt
 #define MIN_INPUT_VOLTAGE_LIMIT_MV  3880
 
-/* The example program for the u-blox C030 boards. It sets up
- * - the GNSS module  for automatic fix
- * - the I2C3 Bus to access BQ24295 Battery Charger
- * - the BQ24295 Battery Charger for 3.88 Volt input supply threshold
- * 
- */
 
 // User LEDs
 DigitalOut ledRed(LED1, 1);
@@ -52,8 +56,11 @@
 // i2c3 Bus
 I2C i2c3(I2C_SDA_B, I2C_SCL_B);
     
-// Battery Charger BQ24295
-BatteryChargerBq24295 charger;
+// Battery Charger bq27441
+BatteryGaugeBq27441 charger;
+
+RawSerial  pc(PD_5, PD_6);
+RawSerial  dev(PA_9, PA_10);
 
 // Delay between LED changes in second
 volatile float delay = 0.5;
@@ -76,13 +83,9 @@
         }
     }
 }
-
-RawSerial  pc(PD_5, PD_6);
-RawSerial  dev(PA_9, PA_10);
  
 void dev_recv()
 {
-
     while(dev.readable()) {
         pc.putc(dev.getc());
     }
@@ -90,38 +93,33 @@
  
 void pc_recv()
 {
-
     while(pc.readable()) {
         dev.putc(pc.getc());
     }
 }
+
 /*
 ** Out of the Box Demo for C030 variants
 ** 
 */
-
 int main()
 {
     printf("u-blox C030-R410M Bring-up baseline using Out-of-the-Box Demo\n\r");
 
     // GNSS initialisation
     if(gnss.init()) {
-        printf("GNSS initialised.\n\r");
+        printf("GNSS initialized.\n\r");
     }
     else {
-        printf("GNSS initialisation failure.\n\r");
+        printf("GNSS initialization failure.\n\r");
     }
     
     // The battery charger initialisation
     if(charger.init(&i2c3)) {
-        printf("Battery charger initialised.\n\r");
-               
-        charger.setInputVoltageLimit(MIN_INPUT_VOLTAGE_LIMIT_MV); 
-        // Disable the battery charger's watchdog, otherwise it resets the battry charger
-        charger.setWatchdog(0);
+        printf("Battery charger initialized.\n\r");
     } 
     else {
-        printf("Battery charger initialisation failure.\n\r");    
+        printf("Battery charger initialization failure.\n\r");
     }  
     printf("\n\r"); 
      
@@ -139,16 +137,11 @@
     ledGreen = 1;
     ledBlue = 1;
     
-    pc.baud(115200);
-    dev.baud(115200);
+    pc.baud(BAUDRATE);
+    dev.baud(BAUDRATE);
  
     pc.attach(&pc_recv, Serial::RxIrq);
     dev.attach(&dev_recv, Serial::RxIrq);
- 
-    while(1) {
-        sleep();
-    }
-    
     
     // Main loop
     while(1) {
@@ -161,4 +154,5 @@
     }
 }
 
-// End Of File
\ No newline at end of file
+// End Of File
+