altoslib: Support Monitor Idle for EasyMini-3 easymini-3
authorKeith Packard <keithp@keithp.com>
Tue, 6 Jun 2023 21:57:53 +0000 (14:57 -0700)
committerKeith Packard <keithp@keithp.com>
Tue, 6 Jun 2023 21:57:53 +0000 (14:57 -0700)
Needed to explicitly support this target even though it was almost the
same as EasyMini v1.

Signed-off-by: Keith Packard <keithp@keithp.com>
altoslib/AltosConvert.java
altoslib/AltosIdleFetch.java
altoslib/AltosSensorEMini.java
altoslib/NewProduct

index 88ee1ad159772d9e613d4ed484375fa0a50c2d2c..ded4b36527cbfc92e6ba7beefbadcc9a31a3cbb1 100644 (file)
@@ -317,6 +317,10 @@ public class AltosConvert {
                return easy_mini_2_adc(sensor) * supply * 127/27;
        }
 
+       static double easy_mini_3_voltage(int sensor) {
+               return easy_mini_1_voltage(sensor, 10000);
+       }
+
        static double motor_pressure(double voltage) {
                double  base = 0.5;
                double  max = 4.5;
index 7ab8395ac8df5f8d8250f715267b25051c35680a..90f4f53e0374407ed1d124e61d055b843d418154 100644 (file)
@@ -53,6 +53,7 @@ class AltosIdler {
        static final int        idle_sensor_tmini3 = 109;
        static final int        idle_sensor_easytimer1 = 110;
        static final int        idle_sensor_easymotor2 = 111;
+       static final int        idle_sensor_emini3 = 112;
 
        public void provide_data(AltosDataListener listener, AltosLink link) throws InterruptedException, TimeoutException, AltosUnknownProduct {
                for (int idler : idlers) {
@@ -111,6 +112,9 @@ class AltosIdler {
                        case idle_sensor_emini2:
                                AltosSensorEMini.provide_data(listener, link, 2);
                                break;
+                       case idle_sensor_emini3:
+                               AltosSensorEMini.provide_data(listener, link, 3);
+                               break;
                        case idle_sensor_tmini2:
                                AltosSensorTMini2.provide_data(listener, link);
                                break;
@@ -159,6 +163,10 @@ public class AltosIdleFetch implements AltosDataProvider {
                               AltosIdler.idle_ms5607,
                               AltosIdler.idle_sensor_emini2),
 
+               new AltosIdler("EasyMini-v3",
+                              AltosIdler.idle_ms5607,
+                              AltosIdler.idle_sensor_emini3),
+
                new AltosIdler("TeleMini-v1",
                               AltosIdler.idle_sensor_tm),
 
index 67f3c8e66e6f353a4167ddfadf6d975073f5a77b..33026c07ffc1e5162a441e2ac9a2f1a8aa5b4b47 100644 (file)
@@ -44,6 +44,11 @@ public class AltosSensorEMini {
                                listener.set_apogee_voltage(AltosConvert.easy_mini_2_voltage(sensor_emini.apogee));
                                listener.set_main_voltage(AltosConvert.easy_mini_2_voltage(sensor_emini.main));
                                break;
+                       case 3:
+                               listener.set_battery_voltage(AltosConvert.easy_mini_3_voltage(sensor_emini.batt));
+                               listener.set_apogee_voltage(AltosConvert.easy_mini_3_voltage(sensor_emini.apogee));
+                               listener.set_main_voltage(AltosConvert.easy_mini_3_voltage(sensor_emini.main));
+                               break;
                        }
 
                } catch (TimeoutException te) {
index e502fdfff0d0ea29a2de3efd0437268383283726..deb9fc3ddd44e70cde1f251c2a3856c29ef69f8b 100644 (file)
@@ -47,6 +47,10 @@ altoslib/
        Adjust existing telemetry decoders for new sensors
 
 
+ 9. AltosConvert.java
+
+       Add conversion functions for ADC values
+
 altosuilib/
 
  1. AltosUSBDevice.java