import java.net.URLConnection;
import org.altusmetrum.altoslib_11.*;
-class AltosUIMapPos extends Box {
+class AltosUIMapPos extends Box implements ActionListener {
+ AltosUIMapPreload preload;
AltosUIFrame owner;
JLabel label;
JComboBox hemi;
JTextField min;
JLabel min_label;
+ /* ActionListener interface */
+ public void actionPerformed(ActionEvent e) {
+ preload.center_map();
+ }
+
public void set_value(double new_value) {
double d, m;
int h;
}
public AltosUIMapPos(AltosUIFrame in_owner,
- String label_value,
- String[] hemi_names,
- double default_value) {
+ AltosUIMapPreload preload,
+ String label_value,
+ String[] hemi_names,
+ double default_value) {
super(BoxLayout.X_AXIS);
owner = in_owner;
+ this.preload = preload;
label = new JLabel(label_value);
hemi = new JComboBox<String>(hemi_names);
hemi.setEditable(false);
deg = new JTextField(5);
+ deg.addActionListener(this);
deg.setMinimumSize(deg.getPreferredSize());
deg.setHorizontalAlignment(JTextField.RIGHT);
deg_label = new JLabel("°");
min = new JTextField(9);
+ min.addActionListener(this);
min.setMinimumSize(min.getPreferredSize());
min_label = new JLabel("'");
set_value(default_value);
pbar.setMaximum(max);
pbar.setValue(0);
pbar.setString("");
- map.clear_marks();
- map.add_mark(latitude, longitude, AltosLib.ao_flight_boost);
}
});
}
return all_types;
}
+ void center_map(double latitude, double longitude) {
+ map.map.centre(new AltosLatLon(latitude, longitude));
+ map.clear_marks();
+ map.add_mark(latitude, longitude, AltosLib.ao_flight_boost);
+ }
+
+ void center_map() {
+ try {
+ center_map(lat.get_value(), lon.get_value());
+ } catch (ParseException pe) {
+ }
+ }
+
public void itemStateChanged(ItemEvent e) {
int state = e.getStateChange();
AltosLaunchSite site = (AltosLaunchSite) o;
lat.set_value(site.latitude);
lon.set_value(site.longitude);
+ center_map(site.latitude, site.longitude);
}
}
}
else
r = r * 1000;
- map.map.centre(new AltosLatLon(latitude, longitude));
+ center_map(latitude, longitude);
loader = new AltosMapLoader(this,
latitude, longitude,
pane.add(site_list, c);
- lat = new AltosUIMapPos(owner,
+ lat = new AltosUIMapPos(owner, this,
"Latitude:",
lat_hemi_names,
37.167833333);
pane.add(lat, c);
- lon = new AltosUIMapPos(owner,
+ lon = new AltosUIMapPos(owner, this,
"Longitude:",
lon_hemi_names,
-97.73975);
#include <ao_exti.h>
#include <ao_power.h>
-static struct ao_task ao_trng_send_task, ao_trng_send_raw_task;
+static struct ao_task ao_trng_send_task;
static uint8_t trng_running;
static AO_TICK_TYPE trng_power_time;
static uint8_t random_mutex;
+#if AO_USB_HAS_IN2
+
+static struct ao_task ao_trng_send_raw_task;
+
static void
ao_trng_get_raw(uint16_t *buf)
{
}
}
+#endif
+
/* Make sure there's at least 8 bits of variance in the samples */
#define MIN_VARIANCE (128 * 128)
if (failed > AO_TRNG_START_CHECK / 4)
ao_panic(AO_PANIC_DMA);
+#if AO_USB_HAS_IN2
ao_add_task(&ao_trng_send_raw_task, ao_trng_send_raw, "trng_send_raw");
+#endif
#ifdef AO_USB_START_DISABLED
ao_usb_enable();