diff options
| author | Keith Packard <keithp@keithp.com> | 2013-02-10 14:51:46 -0800 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2013-02-10 14:57:27 -0800 | 
| commit | 17455da530833d3db03ee2ace7b15130ed307670 (patch) | |
| tree | 06c398fe86b29e644d5d2fe94078da9a4460b108 | |
| parent | a9cf50c9f29f42cc3ca0daff3c69a4087cf9aa1c (diff) | |
altosui: Display block number while downloading flights. Track #51
We don't know how long the flight log is, but we can at least provide
a block number in the pacifier to let the user know it's not wedged.
Signed-off-by: Keith Packard <keithp@keithp.com>
| -rw-r--r-- | altosui/AltosEepromDownload.java | 2 | ||||
| -rw-r--r-- | altosui/AltosEepromMonitor.java | 22 | 
2 files changed, 11 insertions, 13 deletions
| diff --git a/altosui/AltosEepromDownload.java b/altosui/AltosEepromDownload.java index 8fbd661b..801d4ec0 100644 --- a/altosui/AltosEepromDownload.java +++ b/altosui/AltosEepromDownload.java @@ -331,7 +331,7 @@ public class AltosEepromDownload implements Runnable {  		state = 0; state_block = log.start_block;  		for (block = log.start_block; !done && block < log.end_block; block++) { -			monitor.set_value(AltosLib.state_name(state), state, block - state_block); +			monitor.set_value(AltosLib.state_name(state), state, block - state_block, block - log.start_block);  			AltosEepromChunk	eechunk = new AltosEepromChunk(serial_line, block, block == log.start_block); diff --git a/altosui/AltosEepromMonitor.java b/altosui/AltosEepromMonitor.java index 5b9e5171..50921da1 100644 --- a/altosui/AltosEepromMonitor.java +++ b/altosui/AltosEepromMonitor.java @@ -101,7 +101,7 @@ public class AltosEepromMonitor extends AltosUIDialog {  		max_state = in_max_state;  		pbar = new JProgressBar();  		pbar.setMinimum(0); -		pbar.setMaximum((max_state - min_state) * 100); +		pbar.setMaximum(1000);  		pbar.setValue(0);  		pbar.setString("startup");  		pbar.setStringPainted(true); @@ -135,30 +135,28 @@ public class AltosEepromMonitor extends AltosUIDialog {  		cancel.addActionListener(l);  	} -	private void set_value_internal(String state_name, int in_state, int in_block) { -		int block = in_block; -		int state = in_state; - -		if (block > 100) -			block = 100; +	private void set_value_internal(String state_name, int state, int state_block, int block) { +		if (state_block > 100) +			state_block = 100;  		if (state < min_state) state = min_state;  		if (state >= max_state) state = max_state - 1;  		state -= min_state; -		int pos = state * 100 + block; +		int pos = state * 100 + state_block; -		pbar.setString(state_name); +		pbar.setString(String.format("block %d state %s", block, state_name));  		pbar.setValue(pos);  	} -	public void set_value(String in_state_name, int in_state, int in_block) { +	public void set_value(String in_state_name, int in_state, int in_state_block, int in_block) {  		final String state_name = in_state_name;  		final int state = in_state; +		final int state_block = in_state_block;  		final int block = in_block;  		Runnable r = new Runnable() {  				public void run() {  					try { -						set_value_internal(state_name, state, block); +						set_value_internal(state_name, state, state_block, block);  					} catch (Exception ex) {  					}  				} @@ -235,7 +233,7 @@ public class AltosEepromMonitor extends AltosUIDialog {  	}  	private void reset_internal() { -		set_value_internal("startup",min_state,0); +		set_value_internal("startup",min_state,0, 0);  		set_flight_internal(0);  		set_file_internal("");  	} | 
