NTC temperature sensor going to A:D input. Topology is: (Vref or 3.3V) -> Series_resistor -> A:D_input -> NTC -> GND. Easy modification of NTC parameters w/o recompile of library

Dependents:   ntc_helloworld

Revision:
5:9655397ba539
Parent:
3:1eb4f5296281
Child:
6:8e6bd0f9877b
--- a/ntc.cpp	Sat Apr 08 01:23:02 2017 +0000
+++ b/ntc.cpp	Tue Apr 11 20:30:30 2017 +0000
@@ -29,6 +29,10 @@
     return ntc_set_data.ntc_res;
 }
 
+int NTC::get_ntc_beta_0050() {
+    return ntc_set_data.ntc_beta_0050;
+}
+
 int NTC::get_ntc_beta_2550() {
     return ntc_set_data.ntc_beta_2550;
 }
@@ -45,6 +49,10 @@
     return ntc_set_data.ntc_beta_25100;
 }
 
+int NTC::get_ntc_beta_other() {
+    return ntc_set_data.ntc_beta_other;
+}
+
 int NTC::get_series_res() {
     return ntc_set_data.sres_res;
 }
@@ -61,6 +69,9 @@
 float NTC::get_ntc_temp(int curve, uint16_t din) {
     int beta = 0;
     switch (curve) {
+        case B0_50:
+            beta = ntc_set_data.ntc_beta_0050;
+            break;
         case B25_50:
             beta = ntc_set_data.ntc_beta_2550;
             break;
@@ -73,6 +84,9 @@
         case B25_100:
             beta = ntc_set_data.ntc_beta_25100;
             break;
+        case B_OTHER:
+            beta = ntc_set_data.ntc_beta_other;
+            break;
         default:
             beta = ntc_set_data.ntc_beta_2550;
             break;
@@ -83,6 +97,7 @@
     } else {
         ntc_res = NTC::get_ntc_res_viaAD(din);
     }
+    if(beta == 0) return -100.0f;
     return (beta / (log(ntc_res / (ntc_set_data.ntc_res * exp(-beta / 298.0f)))) - 273.0f);
 }