From c17b78e60c340c8a3e3d6f9b875667c66216647a Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 9 May 2017 00:16:36 -0700 Subject: [PATCH] altoslib: Add Ms5607 constructor that just takes config_data Use for making Ms5607 from eeprom files. Signed-off-by: Keith Packard --- altoslib/AltosEepromFireTwo.java | 13 +++++++++---- altoslib/AltosMs5607.java | 17 ++++++++++++++++- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/altoslib/AltosEepromFireTwo.java b/altoslib/AltosEepromFireTwo.java index 14a026a9..16019c8c 100644 --- a/altoslib/AltosEepromFireTwo.java +++ b/altoslib/AltosEepromFireTwo.java @@ -49,13 +49,11 @@ public class AltosEepromFireTwo extends AltosEeprom { private static final double r_below = 10000.0; private static final double v_adc = 3.3; - private static double - firetwo_adc(int raw) { + private static double firetwo_adc(int raw) { return raw / 4095.0; } - private static double - adc_to_pa(int adc) { + public static double adc_to_pa(int adc) { /* raw adc to processor voltage, then back through the * voltage divider to the sensor voltage @@ -71,6 +69,13 @@ public class AltosEepromFireTwo extends AltosEeprom { return AltosConvert.psi_to_pa(psi); } + public static double adc_to_n(int adc) { + double v = firetwo_adc(adc); + + /* this is a total guess */ + return AltosConvert.lb_to_n(v * 298 * 9.807); + } + public void update_state(AltosState state) { super.update_state(state); diff --git a/altoslib/AltosMs5607.java b/altoslib/AltosMs5607.java index 19d2dd6d..c598d01e 100644 --- a/altoslib/AltosMs5607.java +++ b/altoslib/AltosMs5607.java @@ -138,6 +138,17 @@ public class AltosMs5607 { } } + public boolean valid_config() { + return reserved != AltosLib.MISSING && + sens != AltosLib.MISSING && + off != AltosLib.MISSING && + tcs != AltosLib.MISSING && + tco != AltosLib.MISSING && + tref != AltosLib.MISSING && + tempsens != AltosLib.MISSING && + crc != AltosLib.MISSING; + } + public AltosMs5607() { raw_pres = AltosLib.MISSING; raw_temp = AltosLib.MISSING; @@ -145,7 +156,7 @@ public class AltosMs5607 { cc = AltosLib.MISSING; } - public AltosMs5607 (AltosLink link, AltosConfigData config_data) throws InterruptedException, TimeoutException { + public AltosMs5607(AltosConfigData config_data) { this(); reserved = config_data.ms5607_reserved; sens = config_data.ms5607_sens; @@ -155,6 +166,10 @@ public class AltosMs5607 { tref = config_data.ms5607_tref; tempsens = config_data.ms5607_tempsens; crc = config_data.ms5607_crc; + } + + public AltosMs5607 (AltosLink link, AltosConfigData config_data) throws InterruptedException, TimeoutException { + this(config_data); link.printf("B\n"); for (;;) { String line = link.get_reply_no_dialog(5000); -- 2.30.2