-
Notifications
You must be signed in to change notification settings - Fork 0
/
masterdata_7-13.txt
6048 lines (5050 loc) · 371 KB
/
masterdata_7-13.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#if 0
# Copyright (C) 1994-1998, Massachusetts Institute of Technology.
# Modifications Copyright (C) 1999-2012 Teledyne Webb Research
# Proprietary to Sea Grant AUV Laboratory. All rights reserved.
# -- deleted a bunch of history -- 12-May-99 [email protected]
# -- deleted a bunch of history -- 27-Apr-99 thru 17-jul-99
# -- deleted a bunch of history -- 26-jul-99 thru 27-mar-00
# -- deleted a bunch of history -- 05-Apr-00 thru 07-may-00
# -- deleted a bunch of history -- 08-may-00 thru 31-jul-00
# -- deleted a bunch of history -- 01-Aug-00 thru 04-Oct-00
# -- deleted a bunch of history -- 19-Oct-00 thru 29-Oct-01
# -- deleted a bunch of history -- 09-Nov-01 thru 02-Jan-02
# -- deleted a bunch of history -- 02-Jan-02 thru 29-jul-02
# -- deleted a bunch of history -- 02-Aug-02 thru 20-Dec-02
# -- deleted a bunch of history -- 18-jan-03 thru 21-Dec-03
# -- deleted a bunch of history -- 31-jan-04 thru 08-Dec-04
# -- deleted a bunch of history -- 05-Jan-05 thru 22-Dec-07
# 02-Jan-08 [email protected] SN#3369 Added when_utc to surface behavior.
# 12-Jan-08 [email protected] SN#3370 Added u_hover_bpump_delta_value(cc)
# Removed bpump_delta_value from
# drift_at_depth argument list
# 29-Jan-08 [email protected]
# for [email protected] SN#3371 Added sensors for sscsd proglet.
# 07-Feb-08 [email protected] SN#3372 Added x_cycle_time, u_low_power_cycle_time
# and u_allowable_devsched_msecs
# 22-feb-08 [email protected] SN#3372 Added cc_final_est_time_til_inflection(s)
# m_time_til_wpt(s) cc_est_time_til_inflection(s)
# 23-feb-08 [email protected] SN#3373 Added bviper b_arg: min_reqd_quiet_time(s)
# 24-feb-08 [email protected] SN#3374 Added bviper b_arg: post_inflection_holdoff(s)
# 26-feb-08 [email protected] SN#3375 Added bviper b_arg: allow_sample_at_surface(bool)
# 27-feb-08 [email protected] SN#3376 bug fix, bviper b_args:when_* had no units
# 14-Mar-08 [email protected] SN#3377 Changed default value of
# u_max_altimeter(m) from 30 to 100
# 15-Mar-08 [email protected] SN#3378 Added u_low_power_hd_fin_ap_gain (_igain), and
# x_hd_fin_ap_gain (_igain)
# 17-Mar-08 [email protected] SN#3379 Added sensor: sci_motebb_logout(nodim) to
# for [email protected] motebb list of parameters.
# 20-Mar-08 [email protected] SN#3380 Changed the default value of
# u_de_avg_oil_vol_err_alpha from
# 0.05 to 0.0 as a temp bug work-around.
# 12-apr-08 [email protected] SN#3381 added proglet bb2flV3
# 03-jun-08 [email protected] SN#3382 fixed cal factors, units for bb2flV3
# 07-Jun-08 [email protected] SN#3383 Added sensors for FIRe proglet
# 23-jun-08 [email protected] SN#3384 added ohf
# 14-jul-08 [email protected] SN#3385 added proglet bb2flV4
# 14-jul-08 [email protected] SN#3386 added proglet bb2flV5
# 15-sep-09 [email protected] SN#3387 added c_iridium_phone_num_alt,
# c_iridium_failover_retries, m_iridium_attempt_num
# and m_iridium_current_num (MANTIS 255)
# 14-Oct-08 [email protected] SN#3387A Added u_sci_cycle_time
# 2008.10.23 [email protected] SN#3388 UTM nav bug
# Renamed some sensors for consistency
# X_LMC_UTM_VEHICLE_ZONE_DIGIT => X_LMC_UTM_VEH_ZONE_DIGIT
# X_LMC_UTM_VEHICLE_ZONE_CHAR => X_LMC_UTM_VEH_ZONE_CHAR
# X_LAST_UTM_EASTING_CORRECTION => X_LMC_UTM_VEH_EASTING_CORRECTION
# X_LAST_UTM_NORTHING_CORRECTION => X_LMC_UTM_VEH_NORTHING_CORRECTION
# 22-dec-08 [email protected] SN#3389 fixed annotation, merged all reread log file sensors into one
# 22-dec-08 [email protected] SN#3390 added m_argos_timestamp, changed u_reqd_depth_at_surface to 2
# 15-jan-09 [email protected] SN#3391 added c_recovery_on
# 2009.01.23 [email protected] SN#3392 deleted a bunch of history. 05-Jan-05 thru 22-Dec-07
# 2009.01.26 [email protected] SN#3393 Added c_iridium_reread_config_files(button)
# c_iridium_lead_zeros_alt(nodim)
# 2009.02.06 [email protected] SN#3384 Typo in comment
# 16-Feb-09 [email protected] SN#3389B Added u_sci_dbd_sensor_list_xmit_control
# 22-jan-08 [email protected] SN#3394 added x_low_power_status,
# c_coulomb_on, u_coulomb_debug, m_coulomb_amphr,
# m_coulomb_current, u_coulomb_timeout, u_iridium_force_port
# 06-mar-09 [email protected] SN#3395 added min_depth, max_depth to sample behavior
# 17-mar-09 [email protected] SN#3396 Modified c_iridium_current_num to initialize it to 0 which is now
# the primary number.
# 2009.01.22 [email protected] SN#3397 Added gbus and coulomb device driver sensors
# C_COULOMB_ON, U_COULOMB_DEBUG,
# M_COULOMB_AMPHR, M_COULOMB_CURRENT,
# M_COULOMB_AMPHR_RAW, M_COULOMB_CURRENT_RAW
# Added gbus digifin_v2 sensors
# U_DIGIFIN_V2_DEBUG,
# Moved some fin sensors in file to digifin_v2:
# f_fin_safety_max(rad), c_fin(rad), m_fin(rad)
#
# 2009.03.18 [email protected] SN#3398 Changed c_iridium_failover_retries to
# u_iridium_failover_retries and upped the default
# value to 5
# 2009.03.31 [email protected] SN#3399 Added m_iridium_rssi sensor to store the iridium
# signal strength.
# 2009.04.01 [email protected] SN#3400 Changed m_iridium_rssi to m_iridium_signal_strength
# and changed the default value to -1.0
# 2-Apr-09 [email protected] SN#3401 removed a large number of unused sensors
# (now commented out)
# 6-Apr-09 [email protected] SN#3402 Added ballast control b_args to drift_at_depth so they
# can be tuned
# 9-Apr-09 [email protected] SN#3403 Added bbam proglet, fixed sensors_in b_args, made sure
# that all proglets are included
# 14-Apr-09 [email protected] SN#3404 Fixed minor conflict in merge from HEAD to SCIENCE_DATA_LOGGING_BRANCH.
# 2009.04.22 [email protected] SN#3404 Added lithium Ion Power device sensors
# 2009.05.18 [email protected] SN#3405 Added u_motor_debug. Added leak detect sensors to
# support new hardware which can now be independently
# checked with the new hardware.
# Also added new sensors for new vehicle temp driver
# New sensors are veh_temp_*
# 2009.05.18 [email protected] SN#3405 Added u_motor_debug. Added leak detect sensors to
# support new hardware which can now be independently
# checked with the new hardware.
# Also added new sensors for new vehicle temp driver
# New sensors are veh_temp_*
# 01-Jun-09 [email protected] SN#3405 Added x_science_logging_state.
# 07-Jul-09 [email protected] SN#3406 Added m_mission_start_time.
# 08-Jul-09 [email protected] SN#3407 Added m_science_readiness_for_consci.
# 13-Jul-09 [email protected] SN#3408 Changed c_science_printout from 2 to 0.
# 2009.07.22 [email protected] SN#3406 Added sensors for uModem proglet.
# 2009.07.30 [email protected] SN #3407 Added u_alt_filter_enabled to enable/disable median
# filtering.
# 2009.08.12 [email protected] SN #3408 Added f_digifin_movement_retry_max to handle digifin retry
# attempts before issuing warnings
# 2009-08-18 [email protected] SN#3407 Added SCI_X_SENT_DATA_FILES.
# 2009.08.20 [email protected] SN#3409 Added extra output sensors to FIRe proglet
# 2009-08-24 [email protected] SN#3408 Added sci_m_disk_usage, sci_m_disk_free, sci_x_disk_files_removed.
# 2009-08-31 [email protected] SN#3409 Added c_science_send_all. Fixed doco for c_science_on.
# 2009.09.09 [email protected] SN#3410 Replaced enum with nodim units for sci_badd_error
# and sci_FIRe_error, was causing logging error.
# 2009.09.10 [email protected] SN#3411 Added sensors for rinkoII proglet.
# 2009.09.18 [email protected] SN#3412 Added sensors for dvl proglet and
# b_arg: intersample_depth for sample behavior.
# 2009-09-22 [email protected] Reconciled merge conflicts.
# 2009.09.24 [email protected] SN#3413 Added sensors f_coulomb_calibration_factor and f_clock_source
# 2009.09.24 [email protected] SN#3414 Added m_avg_depth_rate(m/s) and
# u_avg_depth_rate_alpha(nodim)
# 2009-09-30 [email protected] Reconciled merge conflicts.
# 2009-10-29 [email protected] SN#3415 added b_arg: remaining_charge_min(%) and
# b_arg: remaining_charge_sample_time(sec)
# 2009.10.19 [email protected] SN#3415 Added m_science_readiness_for_consci.
# 2009.10.21 [email protected] SN#3416 Added u_ballast_pumped_stop_distance(cc),
# u_battpos_stop_distance(in).
# added bb2flsV6 proglet
# Changed c_iridium_phone_num_alt value to production dockserver
# 2009.10.22 [email protected] SN#3417 Changed bb2flsV6 output chl->cdom
# 2009.11.05 [email protected] SN#3418 Added sensors for fpitch_pump driver, dynamic control,
# and new behavior argument values for pitch control.
# 2009-11-17 [email protected] SN#3419 Added sci_m_spare_heap, sci_m_min_free_heap, sci_m_min_spare_heap.
# 2009-12-01 [email protected] SN#3420 Added sensor: m_science_sync_time(timestamp)
# 2009-12-02 [email protected] SN#3421 Added sensor: u_att_rev_ignore_warnings(bool)
# 2009-12-03 [email protected] SN#3422 Added m_coulomb_amphr_total(amp-hrs) persistant amp-hours total
# 2009-12-22 [email protected] SN#3423 Added u_science_send_time_limit_adjustment_factor.
# 2009-12-29 [email protected] Fixed comment for c_recovery_on
# 2009-12-30 [email protected] SN#3424 Removed u_abort_c_battpos(in)
# 2010.01.12 [email protected] SN#3425 Added nth_yo_to_sample sample argument.
# 2010-01-15 [email protected] SN#3426 Changed default value of u_sci_cmd_max_consci_time from 1200 to 3600.
# 2010-02-09 [email protected] SN#3427 Added b_arg: end_action(enum) to goto_list behavior.
# 2010-02-01 [email protected] SN#3428 Changed values for f_pitch_fluid_pumped_cal_m
# and f_pitch_fluid_pumped_cal_b.
# Added f_thermal_reqd_acc_pres(bar) and updated values
# for some engpres.c sensors, thr_reqd_pres_mul(nodim),
# and max_pumping_charge_time(sec). Changed definition
# and value of eng_pressure_mul(nodim).
# 2010-02-12 [email protected] SN#3429 Removed MTHR_AWAITING_AIR from the legal values
# of m_thermal_pump(enum)
# 2010-02-22 [email protected] SN#3430 Added C/M_AVBOT_POWER/ENABLE to masterdata.
# 2010-02-25 [email protected] SN#3431 Removed u_allowable_devsched_msecs.
# 2010-03-12 [email protected] SN#3432 Added sensors m_gps_uncertainty(nodim) and m_gps_num_satellites(nodim)
# 2010-03-12 [email protected] SN#3433 added b_arg: strobe_on and m_strobe_ctrl
# 2010-03-15 [email protected] SN#3434 Added/removed args to/from drift_at_depth behavior.
# 2010-03-22 [email protected] SN#3435 Added u_sound_speed(m/s) and u_angle_of_attack(rad).
# 2010-03-19 [email protected] SN#3436 Added xs_fluid_pumped(cc).
# 2010-04-08 [email protected] SN#3437 Changed initialization of m_iridium_attempt_num to 1
# 2010-04-08 [email protected] SN#3438 Added simulation sensors for do_thermal_oil().
# 2010-04-23 [email protected] SN#3439 Added sensors for flbbrh pnd flur proglets.
# 2010-05-24 [email protected] SN#3440 Added sensors for bb2flsV7 and flbbcd proglets.
# 2010-06-17 [email protected] SN#3441 Added sensors for dmon proglet.
# 2010-07-01 [email protected] SN#3442 Added sensors for c3sfl proglet.
# 2010-08-12 [email protected] SN#3443 Updated/added/removed some drift_at_depth
# arguments and sensors.
# 2010-08-10 [email protected] SN#3444 Added sensors for suna proglet.
# 2010-08-23 [email protected] SN#3445 Added target_altitude, alt_time, and bpump_delay
# to drift_at_depth. Added x_target_hover_depth
# and x_avg_hover_depth.
# 2010-08-24 [email protected] SN#3446 Added f_coulomb_battery_capacity for mantis #722
# 2010-09-07 [email protected] SN#3447 Updated drift_at_depth argument defaults.
# 2010-09-14 [email protected] SN#3448 Changed the default for the abend b_arg:
# max_allowable_busy_cpu_cycles(cycles)
# from -1 to 75 (see Mantis issue #767).
# 2010-09-21 www.DinkumSoftware.com/tc SN#3449 X_AVBOT_DISABLED
# 2010-09-22 www.DinkumSoftware.com/tc SN#3450 SCI_AVBOT_PROGLET_IS_INSTALLED
# 2010-09-30 [email protected] SN#3451 Added C_LOGGER_CTRL_TIMEOUT (Mantis #793)
# 2010-10-01 [email protected] SN#3452 Added u_dvl_pd_data_stream_select(enum) and
# sci_dvl_ensemble_offset(nodim).
# 2010-10-06 [email protected] SN#3453 Added u_dvl_wd_data_out(nodim).
# 2010-10-14 [email protected] SN#3454 Added f_device_reinit_timeout(min).
# 2010-11-09 [email protected] SN#3455 Updated f_coulomb_calibration_factor(%)
# from 0.68 to 0.068
# 2010-11-16 [email protected] SN#3456 Changed units of the sci_suna_* sensors
# 2010-12-02 [email protected] SN#3457 Added m_est_time_to_surface(sec),
# when_utc_on_surface(bool),
# m_avg_upward_inflection_time(sec),
# m_avg_downward_inflection_time(sec),
# m_avg_climb_rate(m/s), and
# m_avg_dive_rate(m/s).
# Changed u_avg_depth_rate_alpha(nodim) from 0.96 to 0.5
# 2010-12-15 [email protected] SN#3458 Added comatose b_arg: start_sci_wants_quiet(bool)
# and sci_wants_quiet(bool).
# 2010-12-28 [email protected] SN#3459 Added u_suna_bootup_time
# 2010-01-31 [email protected] SN#3460 Bug#874, changed value for u_max_water_depth_lifetime
# from 3 to 1
# 2010-02-01 [email protected] SN#3461 Bug#866, changed value for f_coulomb_calibration_factor
# from .068 to .05
# 2011-02-02 [email protected] SN#3462 Added sci_bbam_sim_is_installed().
# 2011-02-07 [email protected] SN#3463 Added sci_auvb_sim_is_installed().
# 2011-02-09 [email protected] SN#3464 Added sensors for satpar proglet.
# 2011-02-24 [email protected] SN#3465 Added sensors for autoballast control and
# b_args for yo, dive_to, climb_to. See /doco/how-it-works/autoballast.txt
# 2011-03-02 [email protected] SN#3466 Changed value of c_delta_bpump_ballast(X) from 25 to -1
# and added sensor m_delta_bpump_ballast_adj
# 2011-03-14 [email protected] SN#3467 Increased b_arg: vacuum_max(inHg) from 11.0 to 12.0
# 2011-04-07 [email protected] SN#3468 Added sensors for vsf proglet.
# 2011-04-12 [email protected] SN#3469 Added u_calc_angle_of_attack
# 2011-04-13 [email protected] SN#3470 Added sensors for oxy4330f proglet.
# 2011-05-03 www.DinkumSoftware.com/tc SN#3471 added u_avbot_debug for avbot 485 usage
# 2011-05-05 [email protected] SN#3472 Added c_autoballast_state which replaces c_autoballast_converged and
# c_autoballast_init. Added u_autoballast_abort to choose whether or not to
# abort on convergence error. Removed m_delta_bpump_ballast_adj
# 2011-05-04 [email protected] SN#3473 Added s_coulomb_relative_charge
# 2011-04-08 [email protected] SN#3474 Changed defauly values for lots of b_args to make glider
# fly OK with defaults
# 2011-06-02 [email protected] SN#3475 Added sensors for gamma_rad5 proglet.
# 2011-06-14 [email protected] SN#3476 Added sensors for bsipar proglet.
# 2011-06-29 [email protected] SN#3477 Added x_hover_active(bool) and x_deactivate_hover(bool)
# 2011-07-15 [email protected] SN#3478 Changed f_clock_source default to 1
# 2011-07-19 [email protected] SN#3479 Added m_bpump_fault_bit(bool) and
# m_de_pump_fault_count(nodim) (Mantis #945).
# Changed f_de_oil_vol_safety_max(cc) from
# 300 to 290 (Mantis #974)
# 2011-09-08 [email protected] SN#3480 Changed units for bsipar scale factor.
# 2011-09-12 [email protected] SN#3481 Added energy monitoring for pitch and fin
# 2011-09-12 [email protected] SN#3482 Added the following sensors for heading cntrl: m_hdg_derror, u_hd_fin_ap_dgain,
# u_low_power_hd_fin_ap_dgain, x_hd_fin_ap_dgain
# x_heading_deadband, x_heading_rate_deadband, u_fly_deep_in_shallow,x_heading_reversal.
# Added the following sensors for pitch servo memory:
# x_battpos_achieved, u_use_pitch_servo_memory, c_dive_battpos, c_climb_battpos
# u_battpos_avg_num_min, u_battpos_ap_deadband
# Added when_secs to set_heading behavior
# Updated comments for x_hd_fin_ap_ran
# 2011-09-14 [email protected] SN#3483 Changed u_pitch_ap_gain from -2.86 to -5.0
# Changed u_pitch_max_delta_battpos from 0.020 to 0.2
# Removed U_BATTPOS_AP_DEADBAND
# 2011-09-14 [email protected] SN#3484 For yo/climb-to behavior, removed use_sc_model b_arg.
# For yo/dive-to behavior, added wait_for_ballast b_arg.
# Added sensor c_wait_for_ballast
# 2011-09-19 [email protected] SN#3485 Changed f_min_ballast from 150.0 to 250.0
# 2011-09-28 [email protected] SN#3486 Added x_last_commanded_fin_pos(rad)
# 2011-10-13 [email protected] SN#3487 Changed u_pitch_ap_gain from -5.0 to -3.0,
# [u/x]_hd_fin_ap_gain from 1.0 to 1.5,
# [u/x]_hd_fin_ap_igain from 0.03 to 0.02,
# [u/x]_hd_fin_ap_dgain from -1.0 to -4.0
# 2011-10-14 [email protected] SN#3488 Changed x_heading_rate_deadband to u_heading_rate_deadband,
# x_heading_deadband to u_heading_deadband
# 2011-11-18 [email protected] SN#3489 Added x_clothesline_state(enum) and changed c_de_oil_vol(cc)
# from 270 to 260.
# 2011-12-12 [email protected] SN#3490 Added sensor: x_surface_active(nodim) (Mantis #1113).
# 2011-12-21 [email protected] SN#3491 Added sensors for flbb proglet.
# 2011-12-22 [email protected] SN#3492 Added comments for Control Center b_arg metadata
# 2012-01-03 [email protected] SN#3493 Added comments for Control Center sensor metadata
# 2012-01-03 [email protected] SN#3494 Added u_dvl_ensemble_timeout(sec)
# 2012-12-07 / thruster_devel: 2012-01-04 [email protected] SN#3495 Minor syntax fixes to Control Center metadata,
# added c_thruster_on
# 2012-01-06 [email protected] SN#3504 Added sensors u_vr2c_serial_num_0, u_vr2c_serial_num_1 and
# sci_vr2c_state
# 2012-12-07 / thruster_devel: 2012-01-13 [email protected] SN#3496 Thruster support: Added [dive/climb]_use_thruster/thruster_value to yo,
# drift_at_depth, dive and climb behaviors. Added cc_[final]_thruster_[mode/value],
# dc_c_thruster_on
# 2012-12-07 / thruster_devel: 2012-01-18 [email protected] SN#3497 Added drift_at_depth b_arg: enable_steering(bool) and
# sensor x_enable_steering_during_hover (set by enable_steering)
# 2012-01-25 [email protected] SN#3495 Added CTD41CP2 sensors.
# 2012-02-08 [email protected] SN#3496 Fixed default value of yo:d_pitch_value
# 2012-12-07 / thruster_devel: 2012-02-09 [email protected] SN#3505 Added u_vr2c_status_interval_0 and _1 and u_vr2c_profile_0 and _1
# 2012-12-07 / thruster_devel: 2012-02-16 [email protected] SN#3498 Added u_thruster_inflection_holdoff, x_thruster_state, and c_hover_battpos
# 2012-03-15 [email protected] SN#3497 Added sci_badd_mmp_is_installed
# 2012-12-07 / thruster_devel: 2012-Mar-19 [email protected] SN#3499 Added sensors for get_est_horz_speed_thruster():
# m_thruster_est_speed, f_thruster_v[0,1], f_thruster_i[0-2]
# x_thruster_has_current_sense and m_thruster_current
# f_thruster_min_v and f_thruster_max_v
# 2012-12-07 / thruster_devel: 2012-Mar-26 [email protected] SN#3500 Added drift_at_depth b_arg wait_for_pitch,
# X_PITCH_AP_GAIN, U_PITCH_AP_GAIN_THRUSTER, X_PITCH_AP_DEADBAND, U_PITCH_AP_DEADBAND_THRUSTER
# U_THRUSTER_HD_FIN_AP_GAIN(IGAIN,DGAIN)
#
# 2012-12-07 / thruster_devel: 2012-03-30 [email protected] SN#3501 Added m_thruster_current
# 2012-12-07 / thruster_devel: 2012-03-30 [email protected] SN#3502 Added m_thruster_report
# 2012-04-12 [email protected] SN#3498 Added behavior arguments to badd_b behavior:
# c_badd_autobaud(bool), c_baud_attemp_min(enum),
# c_baud_attempt_max(enum) and c_autobaud_max_BER(nodim)
# 2012-04-18 [email protected] SN#3499 Added sensors to supporting behavior aguments for badd
# 2012-04-23 [email protected] SN#3500 Replaced oxy4330f with oxy4 proglet
# 2012-04-27 [email protected] SN#3501 Added c_badd_transaction_num and associated b_arg
# 2012-05-03 [email protected] SN#3502 Changed the default values of
# u_dvl_pd_data_stream_select from 6 to 0
# u_dvl_num_errors_before_restart from 5 to 1
# u_dvl_ensemble_timeout from 60 to 20
# 2012-05-07 [email protected] SN#3502 Added b_arg: when_wpt_dist to badd_b behavior.
# 2012-05-09 [email protected] SN#3503 Added b_arg: c_badd_channel_probe_test and sensor.
# 2012-01-06 [email protected] SN#3504 Added sensors u_vr2c_serial_num_0, u_vr2c_serial_num_1 and
# sci_vr2c_state
# 2012-02-09 [email protected] SN#3505 Added u_vr2c_status_interval_0 and _1 and u_vr2c_profile_0 and _1
# 2012-06-11 [email protected] SN#3506 Added sensor: u_dvl_bl_min_layer_size(dm)
# sensor: u_dvl_bl_near_layer_boundary(dm)
# sensor: u_dvl_bl_far_layer_boundary(dm)
# sensor: u_dvl_bk_water_mass_layer_mode(enum)
# Removed sensor: u_dvl_bottom_track_mode(enum)
# 2012-06-27 [email protected] SN#3507 Changed c_ctd41cp_num_fields_to_send from 3 to 4 (Mantis#1339)
# 2012-12-07 / thruster_devel: 2012-07-05 [email protected] SN#3505 Added drift_at_depth b_args start_dist_from_target, use_bpump_servo
# Added drift_at_depth servo sensors u_depth_ap_[d]gain_[deep/shallow]
# Added yo/climb b_arg stop_when_air_pump
# Added airpump sensors m_vacuum_change_since_air_pump_on, m_vacuum_air_bag_inflated, m_vacuum_air_pump_on,
# u_vacuum_air_bag_inflated, u_max_depth_for_air_pump_est
# Added thruster sensors u_ap_thruster_delta_cmd and u_ap_thruster_depth_rate_deadband
# u_ap_thruster_depth_rate_period, x_ap_thruster_depth_rate_period
# Added m_surface_depth_reached and u_pitch_surface
# Added thruster-assisted abort parameters: abend b_arg use_thruster_for_ascent, u_thruster_abort_inflection_holdoff,
# x_use_thruster_for_abort_ascent
# 2012-07-09 [email protected](for [email protected]) SN#3508 Replaced references to obsolete
# proglet MoteBB with new proglet MoteOPD. Added
# c_moteopd_debug(bool) and c_moteopd_data_overtime(sec).
# Chg default sensor: c_moteopd_on(sec) to -1
# 2012-08-24 [email protected] SN#3509 Removed hs2 proglet to make supersci.app smaller.
# Added c_obsolete_on as a place holder for removed proglets
# in science_super.c and sample.c
# 2012-09-04 [email protected] SN#3510 Removed whpar proglet
# 2012-09-05 [email protected] SN#3511 Removed ohf proglet
# 2012-09-06 [email protected] SN#3512 Removed avbot proglet
# 2012-09-07 [email protected] SN#3513 Removed whgpbm proglet
# 2012-09-18 [email protected] SN#3514 Added f_suna_firmware_cfg sensor.
# 2012-10-17 [email protected] SN#3515 Changed c_badd_target_id to -1
# 2012-11-07 [email protected] SN#3515 Mantis #1392
# 2012-11-19 [email protected] SN#3516 Added PID steering sensors: u_hd_fin_ap_scale_by_max, u_hd_fin_ap_deadband_reset
# 2012-12-03 [email protected] SN#3517 Added u_autoballast_end_on_converge
# 2012-12-03 [email protected] SN#3518 Mantis 1453 - Removed dvl setup sensors
# 2012-12-05 [email protected] SN#3519 Added u_dvl_single_pd0_file
# 2012-12-07 / thruster_devel: 2012-09-14 [email protected] SN #3506 Renamed drift_at_depth b_arg bpump_servo to depth_ctrl (now offer several options for depth control
# Added pitching depth servo control from [email protected]: and sensors:
# u_hover_depth_pitch_limit, u_hover_depth_p_gain, u_hover_depth_d_gain, u_hover_depth_pitch_deadband,
# u_hover_depth_pitch_offset, x_avg_depth_pitch_battpos_offset, u_avg_depth_pitch_battpos_alpha,
# u_avg_depth_pitch_battpos_deadband, u_hover_depth_pitch_max_time
# Renamed u_depth_ap_[d]gain_[deep/shallow] to u_hover_bpump_ap_[d]gain_[deep/shallow]
# Renamed [u/x]_ap_thruster_depth_rate_period to [u/x]_thruster_ap_period
# Added pitch servo d gain: x_pitch_ap_dgain, u_pitch_ap_dgain, u_pitch_ap_dgain_thruster and m_pitch_derror
# thruster gain scale: u_pitch_ap_scale_thruster_gain and u_max_thruster_speed
# Added u_autoballast_end_on_converge
# Added u_depth_rate_thr_avg_num and m_depth_rate_thr_avg_final, m_depth_error
# Updated x_thruster_state to include more information
# Added u_hd_fin_ap_deadband_reset
# u_hd_broll_ap_deadband_reset, u_hd_broll_ap_scale_by_max, u_hd_broll_ap_dgain
# 2012-12-07 / thruster_devel: 2012-10-25 [email protected] SN#3507 Added x_hover_depth_p_gain, u_hover_depth_gain_scale_[m,b], dad b_arg depth_gain_scale
# Removed u_pitch_ap_scale_thruster_gain
# Changed many drift_at_depth sensors to b_args: depth_pitch_limit, depth_p_gain, depth_d_gain,
# depth_pitch_deadband, depth_pitch_offset, depth_pitch_max_time
# 2012-12-07 / thruster_devel: 2012-11-02 [email protected] SN#3515 Merged thruster_devel into main branch
# 2012-12-07 / thruster_devel: 2012-11-05 [email protected] SN#3516 Couple new experimental DVL settings
# 2012-12-07 / thruster_devel: 2012-11-08 [email protected] SN#3508 Added drift_at_depth sensors:
# m_depth_ierror, m_depth_derror, x_hover_depth_i_gain, x_hover_depth_d_gain, u_hover_depth_p_gain_min
# x_hover_depth_pitch_limit, x_hover_depth_ap_ran, x_hover_depth_pitch_is_maxed
# u_hover_depth_[run_time, deadband, rate_deadband, inflection_holdoff, hardover_holdoff,
# scale_by_max, deadband_reset, limit_gain_x_error, absolute, abort_after_y_misses]
# Changed x_hover_depth_p_gain and from 0.15 to -0.15 (sign of m_depth_error changed)
# Added drift_at_depth b_arg depth_i_gain and removed b_arg depth_pitch_offset
# Added u_hd_fin_ap_scale_by_max, u_hd_broll_ap_deadband_reset, u_hd_broll_ap_scale_by_max, u_hd_broll_ap_dgain
# Added thruster sensors: u_avg_thruster_current_num, m_avg_thruster_current, u_max_thruster_current, m_thruster_current_spike
# Added u_avg_thruster_speed_num and m_avg_thruster_speed
# 2012-12-07 / thruster_devel: 2012-11-26 [email protected] SN#3517 Added m_avg_thruster_depth
# 2012-12-07 [email protected] SN#3520 Merged thruster branch into tip
# 2012-12-07 [email protected] SN#3521 Added u_secs_surface_depth_reached,
# m_thruster_power, m_thruster_voltage, m_thruster_amphr, m_thruster_watthr
# Added additional use_thruster/thruster_value parameter (2: percent max)
# 2012-12-11 [email protected] SN#3522 Changed u_dvl_single_pd0_file default to 0
# 2012-12-14 [email protected] SN#3523 Changed values of following (M#0001460): u_pitch_ap_gain_thruster -3 to -2, c_thruster_current_cal 0.037 to 0.0593
# f_thruster_i0 0.1506 to 0.04352, f_thruster_i1 2.8022 to 1.289, f_thruster_i2 -2.4233 to -0.5438
# u_thruster_hd_fin_ap_gain 1.0 to 0.5, u_thruster_hd_fin_ap_dgain 0 to -4.0
# 2012-12-14 [email protected] SN#3523 Update to comment for c_stop_when_air_pump, use_thruster_for_ascent
# 2012-12-28 [email protected] SN#3524 Removed all VR2C input sensors as they're no longer used (Mantis #1448)
# 2013-02-07 [email protected] SN#3525 Added echosndr853 sensors.
# 2013-02-22 [email protected] SN#3526 Added m_thruster_raw
# 2013-03-01 [email protected] SN#3527 Added use_thruster = 4 mode for dive, climb, yo, and drift_at_depth behaviors,
# and sensors u_ap_thruster_power_deadband, u_ap_thruster_power_p_gain, m_thruster_power_error
# Added m_avg_thruster_power_drift
# Added [x,u]_increase_vacuum_time
# Modified the following: M_AVG_THRUSTER_CURRENT ==> M_AVG_THRUSTER_POWER, U_AVG_THRUSTER_CURRENT_NUM ==> U_AVG_THRUSTER_POWER_NUM
# M_THRUSTER_CURRENT_SPIKE ==> M_THRUSTER_POWER_SPIKE. U_MAX_THRUSTER_CURRENT ==> F_THRUSTER_POWER_MAX
# Modified comments for x_thruster_state to include use_thruster=4
# c_autoballast_state now includes more information on failed convergence
# Changed u_low_power_hd_fin_ap_[i]gain: _gain from 1.0 to 0.5, igain from 0.004 to 0.0001 M#1507
# 2013-04-05 [email protected] SN#3528 Passive retraction changes: added
# x_ballast_passive_retraction_count, f_ballast_passive_retraction_delay,
# changed default f_ballast_pumped_battery_spike_trigger to 3.0
#
# 2013-04-23 [email protected] SN#3529 Added surface behavior b_arg: thruster_burst,
# Added sensors: u_thruster_burst_volts, u_thruster_burst_secs,
# u_thruster_delta_max, c_thruster_surface_[secs,depth], c_thruster_depth_rate_[secs,depth], x_why_lens_completed
# u_thruster_power_limit_cmd, u_thruster_power_delta_max
# Changed value of u_increase_vacuum_time from 30 to 0, c_thruster_current_cal from 0.0593 to 0.038
# 2013-04-30 [email protected] SN#3530 Updated values of drift_at_depth b_args depth_gain_scale (0 -> 1),
# depth_i_gain (0 -> -0.0001), depth_d_gain (0 -> 0.1)
# f_thruster_max_v (9 -> 9.7), u_thruster_power_limit_cmd (70 -> 80), u_thruster_power_delta_max (7 -> 3)
# u_vacuum_air_bag_inflating (0.5 -> 0.3)
# f_thruster_i0 (0.04352->0.1473), f_thruster_i1(1.289-> 0.9018), f_thruster_i2(-0.5438->-0.2083)
# u_hover_depth_gain_scale_m (0.270->0.429), u_hover_depth_gain_scale_b (-0.189->-0.430)
# f_thruster_power_max (10.0->14.5), f_thruster_power_min(1.0->0.5)
# 2013-05-07 [email protected] SN#3531 Removed c_thruster_report
# When you edit this file, increment MASTERDATA_SN by one.
# This serial number is used to detect whether edit_struct.exe was run
# before the software was compiled.
#endif
#define MASTERDATA_SN 3531
#if 0
# -----------------------------------------------------------------------
# prefix meanings:
# m_ measured
# c_ commanded
# u_ user defined before run time
# f_ Set in factory, do not change unless you know what you are doing
# x_ Do not ever set this. Typically computed at run-time.
# s_ simulated state variables
# Testing only!!!!!
sensor: x_thrvalve_num_of_identical_readings_in_a_row(nodim) 0
# -----------------------------------------------------------------------
# Sensor values being passed to science over the clothesline have a
# decimal precision limit of 6 places. As a workaround for sensor values
# with very small values (<< 0, high decimal precision), say
# u_bb2c_beta532_factor (0.000007494) we developed the following concepts:
# "Mnodim" which signifies that the true value of the sensor has been
# multiplied by 1.e6 and therefor must be divided by 1.e6 on the science side.
# "Tnodim" which signifies that the true value of the sensor has been
# multiplied by 1.e13 and therefor must be divided by 1.e13 on the science side.
# -----------------------------------------------------------------------
# Some general glider specific characteristics
sensor: f_max_working_depth(m) 30.0 #! visible = True; min = 2.0; max = 1000.0
# How deep glider can work
# NOTE: set this to 194m if you want a regular
# electric glider to bottom out at 200m
sensor: f_nominal_dive_rate(m/s) 0.19 # clips 0-1
sensor: f_nominal_pitch(rad) 0.4363 # 25 degs, clips 0-90 degs
sensor: f_device_reinit_timeout(min) 2.0 # The amount of time to elapse before the glider
# attempts to bring non super-critical devices
# into back into service when a mission aborts
# (in minutes)
# SENSORS
# --- Configuration, Read Only at reset time
sensor: f_enable_picozoom(bool) 1.0 # 0=> never enable picozomm
# 1=> enable it if M_FREE_HEAP is > F_AUTO_PICOZOOM_HEAP_REQD
# 2=> always enabled Picozoom
sensor: f_auto_picozoom_heap_reqd(bytes) 100000 # heap required to autoenable picozoom
# --- Set at init time
sensor: x_hardware_ver(nodim) -3.0 # hardware rev
# 128 RevE
# -2 initial value, i.e. before set
# -1 error reading jumpers
# 0 early board without jumpers --or--
# Board has jumpers, none set
# --- Set/used in gliderdos
sensor: x_software_ver(nodim) 0.0 # current software version
sensor: x_in_gliderdos(bool) 0.0 # true->in glider as opposed to a mission
sensor: x_are_in_lab(bool) 0.0 # true->started with -lab command line switch
sensor: x_are_running_onetime_sequence(bool) 0.0 # true -> onetime.seq active
sensor: u_max_time_in_gliderdos(sec) 600.0 #! visible = True
# in, run "sequence" after this much time
# in gliderdos without receiving a keystroke
# disabled in -lab mode
# disabled if <= 0
# these are used
sensor: u_max_sequence_repetitions(nodim) 100 # in, upper limit on # repetitions allowed
# in a sequence specifier listed in a
# sequence command (e.g., sequence foo.mi(100)
sensor: u_max_total_sequenced_missions(nodim) 100 # in, upper limit on total missions sequenced
sensor: u_max_allowed_lastgasp_aborts(nodim) 1 # in, how many lastgasp.mi aborts to allow
# before returning to GliderDos
sensor: u_sequence_max_time_in_gliderdos(s) 900 # in, how long to stay in Gliderdos after
# a lastgasp.mi abort
sensor: u_stale_gps_msg_time(s) 600
sensor: u_stale_gps_msg_period(s) 300 # in, In gliderdos msg delivered every u_stale_gps_msg_period
# seconds if its been u_stale_gps_msg_time since
# the last gps fix.
# -1 (on either sensor) disables (no msg every delivered)
# intended to alert shore side control to do a
# "callback" when operating over iridium.
# the msg: "NOTE:GPS fix is getting stale: X secs old"
sensor: m_1meg_persistor(bool) 0 # out, 1 if M_FREE_HEAP > U_HEAP_REQUIRED_FOR_1MEG_PERSISTOR
sensor: u_heap_required_for_1meg_persistor(bytes) 500000 # in, heap required for 1 MB persistor
sensor: m_why_started(enum) 255 # out, how GliderDos started
# 128 -> External (the reset button)
# 64 -> Power-On
# 32 -> Software Watchdog
# 16 -> Dbl Bus Fault
# 4 -> Loss of Clock
# 2 -> RESET instruction
# 1 -> Test Submodule
# 255 -> Uninitialized
sensor: c_heap_measurement_period(mins) -1 # how often to measure the heap, <= 0 disables
sensor: m_min_spare_heap(bytes) -1 # out, minimum spare heap seen
sensor: sci_m_min_spare_heap(bytes) -1 # and for science
sensor: m_min_free_heap(bytes) -1 # out, minimum free heap seen
sensor: sci_m_min_free_heap(bytes) -1 # and for science
# --- Set in outer control loop,
# main_per.c
sensor: u_cycle_time(sec) 4.0 # in, num of secs/cycle on glider processor
sensor: u_low_power_cycle_time(sec) -1.0 # in, num of secs/cycle on glider processor
# during low power mode (dive/climbs),
# <=0 disables low power mode
sensor: u_sci_cycle_time(sec) 1.0 # in, num of secs/cycle on science processor
# calculated cycle time
sensor: x_cycle_time(sec) 4.0 # either u_cycle_time or u_low_power_cycle_time
sensor: x_low_power_status(nodim) 4.0 # why not low power?
sensor: u_max_sensor_logs_per_cycle(nodim) 4 # in, max high density sensor records
# per dbd/sbd logging cycle, valid
# range is 2 - 15
sensor: m_present_time(timestamp) 0 # out, secs since 1970 @ start of cycle
sensor: m_mission_start_time(timestamp) 0 # out, secs since 1970 @ start of mission
sensor: m_present_secs_into_mission(sec) 0 # out, secs since mission started
sensor: m_cycle_number(nodim) 0 # out, cycles since mission started
sensor: x_cycle_overrun_in_ms(msec) 0 # out, set every cycle
# the number of milliseconds that the
# cycle actually was compared to
# U_CYCLE_TIME
sensor: u_allowable_cycle_overrun(msec) 1000 # how large x_cycle_overrun_in_ms can
# before saying are_device_drivers_called_normally()
# For reasons that aren't clear to me, we are overrunning
# every cycle by 250ms.. someone should figure out why
# 14-Jun-05 [email protected]
# These measure time in ms of various states
sensor: x_lc_time(msec) 0 # layered control
sensor: x_dc_time(msec) 0 # dynamic control
sensor: x_ds_time(msec) 0 # device scheduler
sensor: x_sp_time(msec) 0 # sensor processing
sensor: x_log_time(msec) 0 # log_data()
sensor: x_dead_time(msec) 0 # idle at end of loop
# This is for the weighted average of the post device scheduler
# processing time (sensor processing and logging)
sensor: x_avg_msecs_of_post_ds_processing_reqd(msec) 1000 # start here to speed up stabilization
sensor: u_avg_msecs_of_post_ds_processing_alpha(nodim) 0.75 # 0 - 1 (more weight to recent values)
# --- Strobe light sensor
sensor: c_strobe_ctrl(bool) 0 # boolean controller for the strobe light.
# 0 = Off
# 1 = On
sensor: m_strobe_ctrl(bool) 0 # boolean measurement for the strobe light.
# 0 = Off
# 1 = On
# --- layered_control.c
sensor: x_mission_num(nodim) 0 # out, YYDDxx the current or last mission number
# Old style, before switch to DBD scheme
# Kept for argos
sensor: x_mission_status(enum) -3 # out, current (or last) mission status
sensor: x_old_mission_status_1(enum) -3 # out, old, status from prior missions
sensor: x_old_mission_status_2(enum) -3 # out, older, status from prior missions
sensor: x_old_mission_status_3(enum) -3 # out, oldest, status from prior missions
# New DBD style mission numbering
sensor: x_dbd_mission_number(nodim) 0.0 # out, mmmm of mmmmssss.dbd
sensor: x_dbd_segment_number(nodim) 0.0 # ssss of mmmmssss.dbd
# All these sensors "reflect" the values in struct command
# See commands.h definition of XXX_mode_t for "mode" values
# The cc_XXX variables are updated many times during a cycle
# during the behavior resolution process in layered_control
# The cc_final_XXX variables are updated once per cycle after
# all the behaviors are resolved.
sensor: cc_heading_mode(enum) -1 # out, cmd->heading_mode
sensor: cc_heading_value(X) 0 # argument for heading_mode
sensor: cc_pitch_mode(enum) -1 # out, cmd->pitch_mode
sensor: cc_pitch_value(X) 0 # argument for pitch_mode
sensor: cc_bpump_mode(enum) -1 # out, cmd->bump_mode
sensor: cc_bpump_value(X) 0 # argument for bpump_mode
sensor: cc_thruster_mode(enum) -1 # out, cmd->thruster_mode
sensor: cc_thruster_value(X) 0 # argument for thruster_mode
sensor: cc_threng_mode(enum) -1 # out, cmd->threng_mode
sensor: cc_inflection_mode(enum) -1 # out, cmd->inflection_mode
sensor: cc_depth_state_mode(enum) -1 # out, cmd->depth_state_mode
sensor: cc_mission_status_mode(enum) -3 # out, cmd->mission_status_mode
sensor: cc_is_comatose(bool) 0 # out, cmd->is_comatose
sensor: cc_time_til_inflect(s) -1 # out, <0 ==> invalid
sensor: cc_final_heading_mode(enum) -1 # out, cmd->heading_mode
sensor: cc_final_heading_value(X) 0 # argument for heading_mode
sensor: cc_final_pitch_mode(enum) -1 # out, cmd->pitch_mode
sensor: cc_final_pitch_value(X) 0 # argument for pitch_mode
sensor: cc_final_thruster_mode(enum) -1 # out, cmd->thruster_mode
sensor: cc_final_thruster_value(X) 0 # argument for thruster_mode
sensor: cc_final_bpump_mode(enum) -1 # out, cmd->bump_mode
sensor: cc_final_bpump_value(X) 0 # argument for bpump_mode
sensor: cc_final_threng_mode(enum) -1 # out, cmd->threng_mode
sensor: cc_final_inflection_mode(enum) -1 # out, cmd->inflection_mode
sensor: cc_final_depth_state_mode(enum) -1 # out, cmd->depth_state_mode
sensor: cc_final_mission_status_mode(enum) -3 # out, cmd->mission_status_mode
sensor: cc_final_is_comatose(bool) 0 # out, cmd->is_comatose
sensor: cc_final_time_til_inflect(s) -1 # out, <0 ==> invalid
# behavior specific
# behavior specific, have not sorted it all out
# sensor: c_depth(m) -1 # ascend.c, descend.c, glider_yo.c layer_control.c
# surface
sensor: u_max_num_files_to_xmit_at_once(nodim) 30 #! visible = True; min = 1.0; max = 60.0
# in, max files batched in sending
# files from glider to shore
sensor: m_free_heap(bytes) -1 # out, the amount of free heap space
sensor: sci_m_free_heap(bytes) -1 # and for science
sensor: m_spare_heap(bytes) -1 # out, projected amt of heap if every
# big consumer is activated.
sensor: sci_m_spare_heap(bytes) -1 # and for science
sensor: x_in_surface_dialog(nodim) 0 # out, non-zero means surface behavior
# is in surface dialog and others
# specifically behavior abend should
# not try to read any chars. This is
# a bitfield, with bit assigned to each
# surface behavior by their behavior number
# bit = 1 << (behavior_num-1)
sensor: x_num_bang_cmds_done(nodim) 0 # incremented every time a !cmd execute in
# a surface dialogue, see secs_after_bang_cmd()
sensor: x_sent_data_files(nodim) 0 # set to the number of glider log files sent via last zmodem batch
# set to 0 on failure.
sensor: sci_x_sent_data_files(nodim) 0 # set to the number of science log files sent via last zmodem batch
# set to 0 on failure.
sensor: x_surface_active(nodim) 0 # (>0 means active) set to the surface behavior id that is active.
# Only one surface behavior can be active at a given time. The first
# surface behavior that goes active blocks other surface behaviors
# until it leaves the active state.
# Lens penetration sensors (c_stop_when_air_pump)
# diveclimb.c
sensor: m_surface_depth_reached(bool) 0 # True if we've reached u_reqd_depth_at_surface.
sensor: u_pitch_surface(rad) 0.087 # In, expected pitch if we are at the surface/air bag is inflated. 5 deg
sensor: u_secs_surface_depth_reached(sec) 60 # In, if it has been this many seconds since m_surface_depth_re
sensor: x_why_lens_completed(nodim) 0 # Out, Why the 'c_stop_when_air_pump' surface behavior is complete
# 1: Reached depth and saw vacuum change (M_VACUUM_AIR_BAG_INFLATED > 0.0)
# 2: Reached depth and saw vacuum change (M_VACUUM_CHANGE_SINCE_AIR_PUMP_ON >= U_VACUUM_AIR_BAG_INFLATING)
# and M_PITCH <= U_PITCH_SURFACE
# 3: Reached depth and time since the surface depth was reached (M_SURFACE_DEPTH_REACHED) > U_SECS_SURFACE_DEPTH_REACHED
# vacuum.c
sensor: m_vacuum_change_since_air_pump_on(inHg) 0 # Change in vacuum (m_vacuum - m_vacuum_air_pump_on)
sensor: m_vacuum_air_bag_inflated(inHg) 0 # If m_vacuum_change_since_air_pump_on > u_vacuum_air_bag_inflated. Indicates that air bag is likely inflated
sensor: m_vacuum_air_pump_on(inHg) -1.0 # Initial value of m_vacuum when air pump is turned on AND depth < u_max_depth_for_air_pump_est
sensor: u_vacuum_air_bag_inflated(inHg) 1.5 # For m_vacuum_change_since_air_pump_on greater than this value, it is very likely that the air bag has inflated
sensor: u_vacuum_air_bag_inflating(inHg) 0.3 # For m_vacuum_change_since_air_pump_on greater than this value, it is very likely that the air bag has started to inflate
sensor: u_max_depth_for_air_pump_est(m) 8.0 # The maximum depth that we assume the air pump will inflate. Used only for determining m_vacuum_air_pump_on.
# hydro_smp
sensor: dhs_valid(bool) 0 #non-zero means remaining sensors are valid
sensor: dhs_start_time(abstime) 0 #secs since 1970 GMT
sensor: dhs_duration(s) 0
sensor: dhs_gain(dB) 0
sensor: dhs_channel(nodim) 0
sensor: dhs_xmit_files(nodim) 0
sensor: dhs_silence_lvl(nodim) 0
sensor: dhs_sampling(bool) 0 # is set true when data collection in process
# yo
sensor: c_reread_mafiles(bool) 0 # 1 -> reread mafile during a mission
sensor: c_climb_target_depth(m) -1.0 # in, value of b_arg for climb target depth
sensor: c_dive_target_depth(m) -1.0 # in, value of b_arg for dive target depth
# drift_at_depth
# Don't change intial values of computed x_hover_XXX sensors!
sensor: x_target_hover_depth(m) 0.0 # deduced from b_args: target_depth and target_altitude
sensor: x_avg_hover_depth(m) 0.0 # exponential mean of m_depth while hovering
sensor: x_hover_ballast(cc) 0.0 # adjusted hover_bpump_value for maintaining
# neutral buoyancy at drift_at_depth target depth
sensor: m_avg_thruster_depth(m) 0.0 # out, if thruster is commanded, the average thruster depth for this segment.
sensor: m_avg_thruster_power_drift(watt) 0.0 # out, if thruster is commanded, the average thruster power for this segment.
sensor: x_avg_hover_ballast(cc) 0.0 # exponential mean of calculated
# neutral ballast
sensor: u_avg_hover_ballast_alpha(nodim) 0.05 # more weight for longterm mean
# used for maintaining a depth vs neutral buoyancy lookup table
sensor: x_hover_ballast_shallow(cc) 0.0 # the shallowest neutral buoyancy pumped
sensor: x_hover_ballast_deep(cc) 0.0 # the deepest neutral buoyancy pumped
sensor: x_hover_depth_shallow(m) 0.0 # the shallowest target drift depth
sensor: x_hover_depth_deep(m) 0.0 # the deepest target drift depth
sensor: x_hover_active(bool) 0 # drift_at_depth is in BS_HOVER substate
sensor: x_deactivate_hover(bool) 0 # a way to stop drift_at_depth
sensor: x_enable_steering_during_hover(bool) 0 # If true, allow steering when commanded to hover.
# Set by drift_at_depth b_arg enable_steering
# The bpump servo mode and pitching depth control mode specify two types of depth control methods,
# as defined in drift_at_depth b_arg depth_ctrl.
# They both use m_depth_error:
sensor: m_depth_error(m/s) 0.0 # Out, m_depth - commanded depth
sensor: m_depth_ierror(m) 0.0 # Out, integrated error
sensor: m_depth_derror(m/s^2) 0.0 # Out, time derivate of error
# bpump servo mode (b_arg depth_ctrl = 1)
# delta bpump = -Kp*(target_depth - glider_depth) + Kd*depth_rate
sensor: u_hover_bpump_ap_gain_shallow(cc/m) 1.0 #proportional gain, shallow bpump
sensor: u_hover_bpump_ap_dgain_shallow(cc-s/m) 1.0 #derivative gain, shallow bpump
sensor: u_hover_bpump_ap_gain_deep(cc/m) 1.0 #proportional gain, deep bpump
sensor: u_hover_bpump_ap_dgain_deep(cc-s/m) 1.0 #derivative gain, deep bpump
# pitching depth control mode (b_arg depth_ctrl = 2)
# pitch cmd = -(Kp*m_depth_error + Ki*m_depth_ierror + Kd*m_depth_derror)
sensor: x_hover_depth_p_gain(X) -0.15 # proportional gain Kp: should always be < 0. Set based upon DEPTH_GAIN_SCALE:
# If b_arg DEPTH_GAIN_SCALE is true,
# X_HOVER_DEPTH_P_GAIN = U_HOVER_DEPTH_GAIN_SCALE_M * M_THRUSTER_EST_SPEED + U_HOVER_DEPTH_GAIN_SCALE_B
# If b_arg DEPTH_GAIN_SCALE is false,
# X_HOVER_DEPTH_P_GAIN = b_arg DEPTH_P_GAIN
sensor: u_hover_depth_gain_scale_m(X) 0.429
sensor: u_hover_depth_gain_scale_b(X) -0.430
sensor: u_hover_depth_p_gain_min(X) -0.01 # In, limits the minimum value of X_HOVER_DEPTH_P_GAIN if scale is used
sensor: x_hover_depth_i_gain(X) 0 # Out, set by b_arg DEPTH_I_GAIN
sensor: x_hover_depth_d_gain(X) 0 # Out, set by b_arg DEPTH_D_GAIN
sensor: x_hover_depth_pitch_limit(rad) 0.174 # Out, x_hover_depth_pitch_limit = b_arg DEPTH_PITCH_LIMIT - X_PITCH_AP_DEADBAND
sensor: u_hover_depth_run_time(sec) -1 # How often to "run" the loop
# <= 0, every cycle
# > 0, this many seconds
sensor: u_hover_depth_pitch_deadband(X) -1
sensor: u_hover_depth_pitch_rate_deadband(X) -1
sensor: u_hover_depth_inflection_holdoff(sec) -1.0 # do not set. Required for PID controller structure,
# but not used for pitching depth control
# How long to not integrate after pitched at limit
sensor: u_hover_depth_hardover_holdoff(sec) 120.0 # in, how long to keep zeroing the integrated
# error after fin is "hard over".
# <= 0 causes no holdoff time, i.e. starts integrating
# immediately after fin is NOT hardover.
sensor: u_hover_depth_scale_by_max(bool) 0 # Whether or not we scale the command by x_hover_depth_pitch_limit
sensor: u_hover_depth_deadband_reset(bool) 0 # in, If true, then reset the integrator if we are not changing pitch due to being in the deadband
# If false, then hold the integral term constant while in deadband.
# various clipping limits
sensor: u_hover_depth_limit_gain_x_error(rad) 1000.0 # Limits the gain*error term, (flattens gain curve)
# Set it large to disable it.
sensor: u_hover_depth_limit_absolute(rad) 1000 # limits final C_PITCH value to beween +/- this value.
# Set it large to disable it.
# Note: this is also limited to the
# pitch limit X_HOVER_DEPTH_PITCH_LIMIT
sensor: u_hover_depth_abort_after_y_misses(nodim) -1 # in, how many missed depth measurements
# before we aborting the mission
# <= 0 never abort
# 1 abort on first miss
# >= 2 abort when miss this many times in a row
sensor: x_hover_depth_ap_ran(bool) -10 # Updated on a cycle where pitching depth control executed
# -1 First time initialization
# 0 ; called, but chose not to command motor
# 1 ; did not run cause no fresh input
# 2 ; did not run cause too close to inflection
# 3 ; did not run cause not time to run yet
# 4 ; "ran", controlled motor
# 5 ; did not run cause within deadband
sensor: x_hover_depth_pitch_is_maxed(bool) 0 # true implies pitch is maxed
# used for estimating trim offset
sensor: x_avg_depth_pitch_battpos_offset(in) 0.0 # exponential mean of calculated trim offset
sensor: u_avg_depth_pitch_battpos_alpha(nodim) 0.05 # more weight for longterm mean
sensor: u_avg_depth_pitch_battpos_deadband(m) 0.1 # depth error deadband
#must be above this to compute avg
# --- dynamic control.c
# For use in abort sequences, see doco/abort-sequences.txt
sensor: u_abort_min_burn_time(sec) 600 # Never drop the weight before this time
sensor: u_abort_max_burn_time(sec) 14400 # Always drop the weight after this time
sensor: u_abort_turn_time(sec) 300 # Max time it takes glider to "turn around vertically"
sensor: x_inflecting(bool) 0 # out, true implies in an inflection
sensor: m_tot_num_inflections(nodim) 0 # out, running count of number of inflections
sensor: m_last_yo_time(sec) 0.0 # out, twice the time between last inflections
sensor: m_avg_yo_time(sec) 60.0 # out, twice the average time between inflections
# exponential average of m_last_yo_time
sensor: m_num_half_yos_in_segment(nodim) # out, number of dive/climbs since last surface
# 0 on first dive after surfacing
# incremented on each inflection
sensor: u_fly_deep_in_shallow(bool) 0 #! visible = True
# in, flying a deep glider in shallow water, so we want pitch control
# to not wait for m_is_de_pump_moving. Adapt dynamic_control.c accordingly.
# --- diveclimb.c
## Start: sensors for autoballast/speed control. See /doco/how-it-works/autoballast.txt
## Start: autoballast configuration sensors (i.e. sensors a user may wish to change before running a mission):
sensor: u_autoballast_end_on_converge(bool) 0 #in. If true, end autoballast adjustments to c_[climb/dive] once converged. If false, keep running autoballast.
sensor: u_autoballast_abort(bool) 0 #in, if autoballast fails to converge, then abort if true. if false, c_autoballast_state will change to 3 and continue with the last ballast amounts
sensor: c_autoballast_state(enum) 0 # in/out, describes the current state of autoballast. The user may also change its value to force autoballast to change state
# 0=uninitialized.
# 1=initialized, still converging
# 2=converged successfully
# 3=converged unsuccessfully: abs(c_dive_bpump) or c_climb_bpump > X_BALLAST_PUMPED_MAX/X_DE_OIL_VOL_MAX
# 4=converged unsuccessfully: c_climb_bpump - c_dive_bpump < c_autoballast_volume (d_bpump_value)
# 5=converged unsuccessfully: may be a bit more complicated. Consider examining .mlg
sensor: c_dive_bpump(X) -1000.0 # in/out, amt of ballast used in a dive in autoballast control.
sensor: c_climb_bpump(X) 1000.0 # in/out, amt of ballast used in a climb in autoballast control.
sensor: f_scale_pitch(X) 3.0 # in, value to scale pitch deadband in the wait_for_pitch routine
sensor: f_speed_min(m/s) 0.05 #in, minimum allowable speed input. Protects against excessively low c_speed_min b_args that could cause stall
sensor: f_min_ballast(X) 250.0 # in, the minimum amt of total ballast, limits c_autoballast_volume. Provided as a safety against unreasonably low b_arg
# This value is the smallest total drive that we've historically used, however, if the user is comfortable you could be set
# this value to be smaller.
sensor: f_max_ballast(X) 400.0 # in, the maximum amt of total ballast, limits c_autoballast_volume. Provided as a safety against unreasonably high b_arg
# If using a deep engine capable of larger displacement, it's conceivable that you might want to use a larger value.
# If so, feel free to set this value higher.
sensor: f_min_pump(X) 10.0 #in, the minimum amt of delta ballast for use in a climb or dive .
## End: autoballast configuration sensors
## Start: autoballast measurement sensors
sensor: m_dive_tot_time(s) -1.0 # out, amount of time to complete dive
sensor: m_climb_tot_time(s) -1.0 # out, amount of time to complete climb
sensor: m_dive_depth(m) -1.0 # out, depth that dive actually achieves (to determine if veh has inflected early.)
sensor: c_speed_ctrl(bool) 0 # out, Gets set to true by software if speed control (SM_SPEED, dynamic_control) was used in this dive or climb.
## End: autoballast measurement sensors
## Start: autoballast storage sensors (sensors defined in b_args, stored in these sensors)
sensor: c_autoballast_volume(X) 1000.0 #in/out, stores the user specified total amt of ballast. Read in as b_arg_bpump_value and recorded to this sensor
sensor: c_wait_for_pitch(bool) 1 #in, if true, wait for pitch/batt pos dynamics to settle before enabling speed control. Set by yo b_arg, and stored in this sensor.
sensor: c_wait_for_ballast(sec) 100.0 #in, wait this many seconds after ballast pump has stopped moving (after inflection only)
#before enabling speed control. Set by yo b_arg, and stored in this sensor.
sensor: f_depth_rate_method(enum) 3 # in, method of filtered depth rate to use for speed control. Set by yo b_arg, and stored in this sensor.
# 0= raw m_depth_rate
# 1= m_depth_rate_subsample
# 2 = tbd.
# 3 = running average. uses m_depth_rate_avg_final
# tbd other methods:
# filter out unreasonable depth rates, combos of those above, etc.
sensor: c_delta_bpump_speed(X) 50.0 #in/out, amount of ballast to add to bpump in order to reach desired speed. Should always be positive. SM_SPEED takes care of the sign
# Set by yo b_arg, and stored in this sensor.
sensor: c_delta_bpump_ballast(X) -1.0 #in/out, amount of ballast to add to bpump in order to converge on ballast.
#If < deadband, diveclimb.c will set it to deadband
# Set by yo b_arg or changed by autoballast routine, and stored in this sensor.
sensor: c_time_ratio(X) 1.1 # in, ratio of climb/dive times that must be maintained for speed control. Set by yo b_arg, and stored in this sensor.
sensor: c_use_sc_model(bool) 0 #out, if using model of veh for SM_SPEED. Always set to 0 for now until the model is designed. Read in as b_arg_bpump_value and recorded to this sensor
sensor: c_speed_max(m/s) -100.0 # in/out, fastest depth rate allowed for SM_SPEED control. Gets set separately by user b_arg for dive and climb
sensor: c_speed_min(m/s) -100.0 # in/out, slowest depth rate allowed for SM_SPEED control. Gets set separately by user b_arg for dive and climb
## End: autoballast storage sensors
## End: sensors for autoballast/speed control.
sensor: c_speed(m/s) -1 # out, horizontal speed, <0 means no speed specified
sensor: dc_c_ballast_pumped(cc) 0 # out, what dynamic control wants ballast to be
sensor: f_neutral_ballast(cc) 0 # in, amt of ballast for neutral (~0)
sensor: c_pitch(rad) 0 # out, commanded pitch, <0 to dive
sensor: dc_c_battpos(in) 0 # out, what dynamic control wants fore/aft battery to be
sensor: dc_c_fluid_pumped(cc) 0 # out, what dynamic control wants fore/aft fluid to be
sensor: dc_c_thermal_updown(enum) # out, what dynamic_control wants thermal engine to do
# sensor: dc_c_de_updown(enum) # out, what dynamic_control wants deep electric engine to do
sensor: dc_c_oil_volume(cc) 0 # out, what dynamic control wants oil volume to be
sensor: f_neutral_oil_volume(cc) 0 # in, amt of oil volume for neutral (~0)
# also used in g_shell.c: GCmdBallast()
# Generic location stuff, see coord_sys.h for description
sensor: x_lmc_utm_zone_digit(byte) 0 # The utm zone of lmc (0,0)
sensor: x_lmc_utm_zone_char(byte) 0 # ditto, 0->A 1->B etc
sensor: x_utm_to_lmc_00(nodim) 0 # matrix such that: lmc = [] * utm + off
sensor: x_utm_to_lmc_01(nodim) 0 # |x| |00 01| ( |e| |x0| )
sensor: x_utm_to_lmc_10(nodim) 0 # | | = | | * ( | | + | | )
sensor: x_utm_to_lmc_11(nodim) 0 # |y| |10 11| ( |n| |y0| )
sensor: x_utm_to_lmc_x0(nodim) 0
sensor: x_utm_to_lmc_y0(nodim) 0
#The first pair are to record current vehicle UTM zone
#The next six convert (northing,easting) -> (x,y).
#All of these are computed when the origin in LMC is established.
#And the last two are used to correct for lon UTM zone and equator crossings.
# These store the vehicles zone (for detecting boundry crossing)
# and the correction for computing vehicle's lat/lon from lmc position
sensor: x_lmc_utm_veh_zone_digit(byte) 0 # The utm zone of the vehicle
sensor: x_lmc_utm_veh_zone_char(byte) 0 # ditto, 0->A 1->B etc
sensor: x_lmc_utm_veh_easting_correction(m) 0 # needed for crossing lon UTM zones
sensor: x_lmc_utm_veh_northing_correction(m) 0 # needed for crossing equator
# Generic heading related stuff
sensor: c_heading(rad) 0 # out, commanded heading
sensor: c_roll(rad) 0 # out, commanded roll
sensor: dc_c_battroll(rad) 0 # out, what dynamic control wants roll battery to be
sensor: f_battroll_offset(rad) 0.0 # in, added to c_roll to handle off center batteries
sensor: m_hdg_error(rad) 0 # out, m_heading - c_heading
sensor: m_hdg_ierror(rad-sec) 0 # out, integrated m_hdg_error
sensor: m_hdg_derror(rad/sec) 0 # out, rate of change of m_hdg_error
# Waypoint control
sensor: u_use_current_correction(nodim) 1 #! visible = True
# 0 calculate, but do not use m_water_vx/y
# 1 use m_water_vx/y to navigate AND aim
sensor: c_wpt_x_lmc(m) 0 # in, command waypoint in lmc units
sensor: c_wpt_y_lmc(m) 0 #
sensor: x_hit_a_waypoint(bool) 0 # set by behavior when reach a waypoint
sensor: x_last_wpt_x_lmc(m) 0 # set by behavior when reach a waypoint
sensor: x_last_wpt_y_lmc(m) 0
# Heading autopilot variables
# Mostly parameteric inputs to control autopilot
# The X_ guys are working variables
# See doco/how-it-works/heading_autopilot.txt
# servo on Heading by adjusting fin
# controls/knobs: the user might change these
# read glider/doco/how-it-works/heading_autopilot.txt
sensor: u_hd_fin_ap_gain(1/rad) 1.50 # The "gain" of controller: 57 deg proportional band
# 1/57 deg
sensor: u_hd_fin_ap_igain(1/rad-sec) 0.02
sensor: u_hd_fin_ap_dgain(sec/rad) -4.00
# percent C_FIN = (-U_HD_FIN_AP_GAIN * M_HDG_ERROR) +
# (-U_HD_FIN_AP_IGAIN * M_HDG_IERROR)+
# (-U_HD_FIN_AP_DGAIN * M_HDG_DERROR)
# For u_low_power_cycle_time(s) = 30
sensor: u_low_power_hd_fin_ap_gain(1/rad) 0.5 #
sensor: u_low_power_hd_fin_ap_igain(1/rad-sec) 0.0001 #
sensor: u_low_power_hd_fin_ap_dgain(sec/rad) 0.0 #
# For thruster installed.
sensor: u_thruster_hd_fin_ap_gain(1/rad) 0.5 #
sensor: u_thruster_hd_fin_ap_igain(1/rad-sec) 0.004 #
sensor: u_thruster_hd_fin_ap_dgain(sec/rad) -4.0 #
# These get set to either u_hd_fin_ap_gain(igain,dgain) or
# u_thruster_hd_fin_ap_gain(igain,dgain) if thruster installed or
# u_low_power_hd_fin_ap_gain(igain,dgain) depending on the value of x_cycle_time.
# Initially set to the default values of u_hd_fin_ap_gain(igain,dgain).
sensor: x_hd_fin_ap_gain(1/rad) 1.50
sensor: x_hd_fin_ap_igain(1/rad-sec) 0.03
sensor: x_hd_fin_ap_dgain(sec/rad) -4.00
sensor: u_hd_fin_ap_run_time(secs) -1 # How often to "run" the loop
# <= 0, every cycle
# > 0, this many seconds
sensor: u_hd_fin_ap_scale_by_max(bool) 1 # Whether or not we scale the command by X_FIN_MAX
# What to do around inflections
sensor: u_hd_fin_ap_inflection_holdoff(sec) -1.0 # in, controls steering around inflections
# -1 always steer/integrate_errors during inflection
# >=0 don't steer/integrate errors:
# during inflection --AND--
# for this many secs after START of inflection
# Deadbands on heading error and rate error. If heading error and rate error are both within these deadbands, don't move the fin.
# To disable completely (i.e. ignore if in deadband or not), set either value to -1.
# To turn off one deadband but not the other, set the one you want to turn off to a very high value,
# i.e. want to turn off deadband on rate error: set u_heading_rate_deadband 1000.0
sensor: u_heading_deadband(rad) 0.087 #in, deadband for heading error M_HDG_ERROR
sensor: u_heading_rate_deadband(rad/s) 0.0087 #in, deadband for heading rate error M_HDG_DERROR
sensor: u_hd_fin_ap_deadband_reset(bool) 0 # in, If true, then reset the integrator if we are not moving the fin due to being in the deadband
# If false, then hold the integral term constant while in deadband.
# How long to not integrate after big course changes
sensor: u_hd_fin_ap_hardover_holdoff(sec) 120.0 # in, how long to keep zeroing the integrated
# error after fin is "hard over".
# <= 0 causes no holdoff time, i.e. starts integrating
# immediately after fin is NOT hardover.
# various clipping limits
sensor: u_hd_fin_ap_limit_gain_x_error(rad) 1000.0 # Limits the gain*error term, (flattens gain curve)
# Set it large to disable it.
sensor: u_hd_fin_ap_limit_absolute(rad) 1000 # limits final C_FIN value to beween +/- this value.