most functionality to splashdwon, find neutral and start mission. short timeouts still in code for testing, will adjust to go directly to sit_idle after splashdown

Dependencies:   mbed MODSERIAL FATFileSystem

new_changelog.txt

Committer:
tnhnrl
Date:
2018-07-30
Revision:
73:f6f378311c8d
Child:
74:d281aaef9766

File content as of revision 73:f6f378311c8d:

/*
    Modified FSG PCB V_1_1
        - Freezes when doing a dive or any timed sequence (commented out SD card references)
        - commented out sdLogger().appendLogFile(current_state, 0);     //open SD file once
        - commented out sdLogger().appendLogFile(current_state, 1);    //writing data
        - commented out sdLogger().appendLogFile(current_state, 0);    //close log file
        - reduced timer to 20 seconds for bench testing
        - modified ConfigFileIO for rudder()
        - added in getFloatUserInput function from newer code
        - changed LinearActuator & batt() in StaticDefs to match new pinouts from Bob/Matt/Troy fixes
        - slowed down battery motor because it's silly fast at 30 volts (bench test)
            * BCE gain is proportional 0.1 now 0.01
        - BATT was moving in the wrong direction, gain was P: 0.10, I: 0.0, D: 0.0
            * change gain to P: -0.10 (gain was flipped, I think the old circuit board had the voltages flipped ? ?)
        - StateMachine changes for testing
            * added keyboard_menu_STREAM_STATUS();
            * added keyboard_menu_RUDDER_SERVO_settings();
        - modified the zero on the battery position from 610 to 836
        - BMM (batt) slope may be incorrect, seems low, currently 0.12176
        - modified the zero on BCE from 253 to 460
        - Pressure readings are wrong
            * added readADCCounts() to omegaPX209 class to see channel readings
            * modified omegaPX209 class to use filtered ADC readings from SpiADC.readCh4()
        - fixed rudderLoop to headingLoop from newer code
    Modified FSG PCB V_1_2
        - added init headingLoop to main
        - added pitch and heading outputs to STREAM_STATUS
    NOTE: Flipped motor controller output on connector side with battery mass mover (BMM)
        - Motor direction was opposite the BCE motor (because of gearing) 
        - BMM P gain is now positive 0.02 (from -0.10)
    Modified FSG PCB V_1_3
        - added timing code for interrupt that drives the rudder (testing with o-scope)
        - PID controller replaced with newer version from 5/29 code branch
        - StateMachine hanged style of variables to match convention in code
    Modified FSG PCB V_1_4
        - adc tests
    Modified FSG PCB V_1_5
        - IMU update
        - Testing print outs
    Modified FSG PCB V_1_6
        - new BMM zero count of 240 (confirmed manually)
        - new BCE zero count of 400 (confirmed manually)
        - Modified emergency climb to go to position 10 on the BMM, not zero (almost relying on the limit switch)
        - fixed keyboard input; including typing in the timeout (can enter exact times)
    Modified FSG PCB V_1_7
        - removed data logger references
        - fixed bug where I was logging data twice in the interrupt code and the main file
        - fixed bug where Multi-Dive sequence wasn't restarting (the counter used to get the current state was not reset)
    Modified FSG PCB v_1_7C
        - fixing a bug with the data transmission (output had newline character) because of packet lengths
        - new version blasts data and Python program requests lost packets, dramatically faster over USB, slightly faster over XBee
        - fixed some format and terminal errors
*/


Fixed callback thing on linear actuator

"callback" added before this, ticker thing


    float depth_freq = depthLoop().getFilterFrequency();
    float depth_deadband = depthLoop().getDeadband();
    
    pitch
    
    
    
    pc().printf("PITCH P: %3.3f, I: %3.3f, D %3.3f, offset: %3.1f mm (filter: %0.2f, deadband: %0.2f)\r\n", pitchLoop().getControllerP(), pitchLoop().getControllerI(), pitchLoop().getControllerD(), pitchLoop().getOutputOffset(),pitchLoop().getFilterFrequency(),pitchLoop().getDeadband());
    DEPTH TOO