diff options
| -rw-r--r-- | altoslib/AltosIdleFetch.java | 37 | ||||
| -rw-r--r-- | altoslib/AltosMs5607.java | 13 | ||||
| -rw-r--r-- | altoslib/AltosSensorEMini.java | 17 | ||||
| -rw-r--r-- | altoslib/AltosSensorMega.java | 10 | ||||
| -rw-r--r-- | altoslib/AltosSensorMetrum.java | 8 | ||||
| -rw-r--r-- | altoslib/AltosSensorTGPS.java | 4 | ||||
| -rw-r--r-- | altoslib/AltosSensorTMini2.java | 8 | ||||
| -rw-r--r-- | altoslib/AltosSensorTMini3.java | 8 | 
8 files changed, 72 insertions, 33 deletions
| diff --git a/altoslib/AltosIdleFetch.java b/altoslib/AltosIdleFetch.java index 43eb980a..cfd6866a 100644 --- a/altoslib/AltosIdleFetch.java +++ b/altoslib/AltosIdleFetch.java @@ -31,15 +31,17 @@ class AltosIdler {  	static final int	idle_imu = 1;  	static final int	idle_mag = 2;  	static final int	idle_mma655x = 4; +	static final int	idle_ms5607 = 5;  	static final int	idle_sensor_tm = 10;  	static final int	idle_sensor_metrum = 11;  	static final int	idle_sensor_mega = 12; -	static final int	idle_sensor_emini = 13; -	static final int	idle_sensor_tmini2 = 14; -	static final int	idle_sensor_tgps = 15; -	static final int	idle_sensor_tmini3 = 16; +	static final int	idle_sensor_emini1 = 13; +	static final int	idle_sensor_emini2 = 14; +	static final int	idle_sensor_tmini2 = 15; +	static final int	idle_sensor_tgps = 16; +	static final int	idle_sensor_tmini3 = 17;  	public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data) throws InterruptedException, TimeoutException, AltosUnknownProduct {  		for (int idler : idlers) { @@ -56,7 +58,10 @@ class AltosIdler {  			case idle_mma655x:  				AltosMma655x.provide_data(listener, link, cal_data);  				break; -/*			case idle_sensor_tm: +			case idle_ms5607: +				AltosMs5607.provide_data(listener, link, cal_data); +				break; +			case idle_sensor_tm:  				AltosSensorTM.provide_data(listener, link, cal_data);  				break;  			case idle_sensor_metrum: @@ -65,8 +70,11 @@ class AltosIdler {  			case idle_sensor_mega:  				AltosSensorMega.provide_data(listener, link, cal_data);  				break; -			case idle_sensor_emini: -				AltosSensorEMini.provide_data(listener, link, cal_data); +			case idle_sensor_emini1: +				AltosSensorEMini.provide_data(listener, link, cal_data, 1); +				break; +			case idle_sensor_emini2: +				AltosSensorEMini.provide_data(listener, link, cal_data, 2);  				break;  			case idle_sensor_tmini2:  				AltosSensorTMini2.provide_data(listener, link, cal_data); @@ -77,7 +85,6 @@ class AltosIdler {  			case idle_sensor_tmini3:  				AltosSensorTMini3.provide_data(listener, link, cal_data);  				break; -*/  			}  		}  	} @@ -97,16 +104,23 @@ public class AltosIdleFetch implements AltosDataProvider {  	static final AltosIdler[] idlers = { -		new AltosIdler("EasyMini", -			       AltosIdler.idle_sensor_emini), +		new AltosIdler("EasyMini-v1", +			       AltosIdler.idle_ms5607, +			       AltosIdler.idle_sensor_emini1), + +		new AltosIdler("EasyMini-v2", +			       AltosIdler.idle_ms5607, +			       AltosIdler.idle_sensor_emini2),  		new AltosIdler("TeleMini-v1",  			       AltosIdler.idle_sensor_tm),  		new AltosIdler("TeleMini-v2", +			       AltosIdler.idle_ms5607,  			       AltosIdler.idle_sensor_tmini2),  		new AltosIdler("TeleMini-v3", +			       AltosIdler.idle_ms5607,  			       AltosIdler.idle_sensor_tmini3),  		new AltosIdler("TeleMetrum-v1", @@ -116,15 +130,18 @@ public class AltosIdleFetch implements AltosDataProvider {  		new AltosIdler("TeleMetrum-v2",  			       AltosIdler.idle_gps,  			       AltosIdler.idle_mma655x, +			       AltosIdler.idle_ms5607,  			       AltosIdler.idle_sensor_metrum),  		new AltosIdler("TeleMega",  			       AltosIdler.idle_gps,  			       AltosIdler.idle_mma655x, +			       AltosIdler.idle_ms5607,  			       AltosIdler.idle_imu, AltosIdler.idle_mag,  			       AltosIdler.idle_sensor_mega),  		new AltosIdler("EasyMega",  			       AltosIdler.idle_mma655x, +			       AltosIdler.idle_ms5607,  			       AltosIdler.idle_imu, AltosIdler.idle_mag,  			       AltosIdler.idle_sensor_mega),  		new AltosIdler("TeleGPS", diff --git a/altoslib/AltosMs5607.java b/altoslib/AltosMs5607.java index bb6ce4c2..399de834 100644 --- a/altoslib/AltosMs5607.java +++ b/altoslib/AltosMs5607.java @@ -133,6 +133,19 @@ public class AltosMs5607 {  		crc = old.crc;  	} +	static public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data) throws InterruptedException { +		try { +			AltosMs5607	ms5607 = cal_data.ms5607; + +			if (ms5607 != null) { +				AltosPresTemp	pt = ms5607.pres_temp(link); +				listener.set_temperature(pt.temp); +				listener.set_pressure(pt.pres); +			} +		} catch (TimeoutException te) { +		} +	} +  	public AltosMs5607(AltosConfigData config_data) {  		this(config_data.ms5607());  	} diff --git a/altoslib/AltosSensorEMini.java b/altoslib/AltosSensorEMini.java index 2581685f..2d7bab83 100644 --- a/altoslib/AltosSensorEMini.java +++ b/altoslib/AltosSensorEMini.java @@ -26,15 +26,24 @@ public class AltosSensorEMini {  	public int	main;  	public int	batt; -	static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException { +	static public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data, int version) throws InterruptedException {  		try {  			AltosSensorEMini	sensor_emini = new AltosSensorEMini(link);  			if (sensor_emini == null)  				return; -			state.set_battery_voltage(AltosConvert.easy_mini_voltage(sensor_emini.batt, config_data.serial)); -			state.set_apogee_voltage(AltosConvert.easy_mini_voltage(sensor_emini.apogee, config_data.serial)); -			state.set_main_voltage(AltosConvert.easy_mini_voltage(sensor_emini.main, config_data.serial)); +			switch (version) { +			case 1: +				listener.set_battery_voltage(AltosConvert.easy_mini_1_voltage(sensor_emini.batt, cal_data.serial)); +				listener.set_apogee_voltage(AltosConvert.easy_mini_1_voltage(sensor_emini.apogee, cal_data.serial)); +				listener.set_main_voltage(AltosConvert.easy_mini_1_voltage(sensor_emini.main, cal_data.serial)); +				break; +			case 2: +				listener.set_battery_voltage(AltosConvert.easy_mini_2_voltage(sensor_emini.batt)); +				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; +			}  		} catch (TimeoutException te) {  		} diff --git a/altoslib/AltosSensorMega.java b/altoslib/AltosSensorMega.java index 82696038..1ef40a2a 100644 --- a/altoslib/AltosSensorMega.java +++ b/altoslib/AltosSensorMega.java @@ -89,18 +89,18 @@ class AltosSensorMega {  		}  	} -	static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException { +	static public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data) throws InterruptedException {  		try {  			AltosSensorMega	sensor_mega = new AltosSensorMega(link); -			state.set_battery_voltage(AltosConvert.mega_battery_voltage(sensor_mega.v_batt)); -			state.set_apogee_voltage(AltosConvert.mega_pyro_voltage(sensor_mega.sense[4])); -			state.set_main_voltage(AltosConvert.mega_pyro_voltage(sensor_mega.sense[5])); +			listener.set_battery_voltage(AltosConvert.mega_battery_voltage(sensor_mega.v_batt)); +			listener.set_apogee_voltage(AltosConvert.mega_pyro_voltage(sensor_mega.sense[4])); +			listener.set_main_voltage(AltosConvert.mega_pyro_voltage(sensor_mega.sense[5]));  			double[]	igniter_voltage = new double[4];  			for (int i = 0; i < 4; i++)  				igniter_voltage[i] = AltosConvert.mega_pyro_voltage(sensor_mega.sense[i]); -			state.set_igniter_voltage(igniter_voltage); +			listener.set_igniter_voltage(igniter_voltage);  		} catch (TimeoutException te) {  		} diff --git a/altoslib/AltosSensorMetrum.java b/altoslib/AltosSensorMetrum.java index cb163911..1b025d1c 100644 --- a/altoslib/AltosSensorMetrum.java +++ b/altoslib/AltosSensorMetrum.java @@ -53,12 +53,12 @@ class AltosSensorMetrum {  		}  	} -	static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException { +	static public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data) throws InterruptedException {  		try {  			AltosSensorMetrum	sensor_metrum = new AltosSensorMetrum(link); -			state.set_battery_voltage(AltosConvert.mega_battery_voltage(sensor_metrum.v_batt)); -			state.set_apogee_voltage(AltosConvert.mega_pyro_voltage(sensor_metrum.sense_a)); -			state.set_main_voltage(AltosConvert.mega_pyro_voltage(sensor_metrum.sense_m)); +			listener.set_battery_voltage(AltosConvert.mega_battery_voltage(sensor_metrum.v_batt)); +			listener.set_apogee_voltage(AltosConvert.mega_pyro_voltage(sensor_metrum.sense_a)); +			listener.set_main_voltage(AltosConvert.mega_pyro_voltage(sensor_metrum.sense_m));  		} catch (TimeoutException te) {  		}  	} diff --git a/altoslib/AltosSensorTGPS.java b/altoslib/AltosSensorTGPS.java index 9c2bcb10..7534cf46 100644 --- a/altoslib/AltosSensorTGPS.java +++ b/altoslib/AltosSensorTGPS.java @@ -24,13 +24,13 @@ public class AltosSensorTGPS {  	public int	tick;  	public int	batt; -	static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException { +	static public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data) throws InterruptedException {  		try {  			AltosSensorTGPS	sensor_tgps = new AltosSensorTGPS(link);  			if (sensor_tgps == null)  				return; -			state.set_battery_voltage(AltosConvert.tele_gps_voltage(sensor_tgps.batt)); +			listener.set_battery_voltage(AltosConvert.tele_gps_voltage(sensor_tgps.batt));  		} catch (TimeoutException te) {  		} diff --git a/altoslib/AltosSensorTMini2.java b/altoslib/AltosSensorTMini2.java index 7e00abd0..c347a3a6 100644 --- a/altoslib/AltosSensorTMini2.java +++ b/altoslib/AltosSensorTMini2.java @@ -26,15 +26,15 @@ public class AltosSensorTMini2 {  	public int	main;  	public int	batt; -	static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException { +	static public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data) throws InterruptedException {  		try {  			AltosSensorTMini2	sensor_tmini = new AltosSensorTMini2(link);  			if (sensor_tmini == null)  				return; -			state.set_battery_voltage(AltosConvert.tele_mini_2_voltage(sensor_tmini.batt)); -			state.set_apogee_voltage(AltosConvert.tele_mini_2_voltage(sensor_tmini.apogee)); -			state.set_main_voltage(AltosConvert.tele_mini_2_voltage(sensor_tmini.main)); +			listener.set_battery_voltage(AltosConvert.tele_mini_2_voltage(sensor_tmini.batt)); +			listener.set_apogee_voltage(AltosConvert.tele_mini_2_voltage(sensor_tmini.apogee)); +			listener.set_main_voltage(AltosConvert.tele_mini_2_voltage(sensor_tmini.main));  		} catch (TimeoutException te) {  		} diff --git a/altoslib/AltosSensorTMini3.java b/altoslib/AltosSensorTMini3.java index 19d514d7..e88566cc 100644 --- a/altoslib/AltosSensorTMini3.java +++ b/altoslib/AltosSensorTMini3.java @@ -26,15 +26,15 @@ public class AltosSensorTMini3 {  	public int	main;  	public int	batt; -	static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException { +	static public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data) throws InterruptedException {  		try {  			AltosSensorTMini3	sensor_tmini = new AltosSensorTMini3(link);  			if (sensor_tmini == null)  				return; -			state.set_battery_voltage(AltosConvert.tele_mini_3_battery_voltage(sensor_tmini.batt)); -			state.set_apogee_voltage(AltosConvert.tele_mini_3_pyro_voltage(sensor_tmini.apogee)); -			state.set_main_voltage(AltosConvert.tele_mini_3_pyro_voltage(sensor_tmini.main)); +			listener.set_battery_voltage(AltosConvert.tele_mini_3_battery_voltage(sensor_tmini.batt)); +			listener.set_apogee_voltage(AltosConvert.tele_mini_3_pyro_voltage(sensor_tmini.apogee)); +			listener.set_main_voltage(AltosConvert.tele_mini_3_pyro_voltage(sensor_tmini.main));  		} catch (TimeoutException te) {  		} | 
