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
Diff: ConfigFileIO/ConfigFileIO.cpp
- Revision:
- 38:83d06c294807
- Parent:
- 21:38c8544db6f4
- Child:
- 43:891baf306e0a
--- a/ConfigFileIO/ConfigFileIO.cpp Thu Dec 21 16:07:47 2017 +0000 +++ b/ConfigFileIO/ConfigFileIO.cpp Thu Dec 21 17:05:35 2017 +0000 @@ -6,6 +6,41 @@ ConfigFileIO::ConfigFileIO() { } +void ConfigFileIO::saveBattData(float p_gain, float i_gain, float d_gain) { + ConfigFile write_Batt_txt; //write to the config file + + char PGain_buffer[128]; + sprintf(PGain_buffer,"# configuration file for battery mover parameters\n\n#Gains\nPGain"); + + char string_pgain[128]; + sprintf(string_pgain, "%f", p_gain); + write_Batt_txt.setValue(PGain_buffer, string_pgain); + + char string_igain[128]; + sprintf(string_igain, "%f", i_gain); + write_Batt_txt.setValue("IGain", string_igain); + + char string_dgain[128]; + sprintf(string_dgain, "%f", d_gain); + write_Batt_txt.setValue("DGain", string_dgain); + + write_Batt_txt.setValue("\n#string pot parameters\nzeroCounts", "610"); + write_Batt_txt.setValue("PistonTravelLimit", "73.0"); + write_Batt_txt.setValue("slope", "0.12176"); + write_Batt_txt.setValue("filterWn", "6.0"); + write_Batt_txt.setValue("deadband", "0.5"); + + //SAVE THE DATA! + pc().printf("Saving BATTERY MOVER PID data!"); + + if (!write_Batt_txt.write("/local/batt.txt")) { + pc().printf("\n\rERROR: (SAVE)Failure to write batt.txt file."); + } + else { + pc().printf("\n\rFile batt.txt successful written.\n\r"); + } +} + void ConfigFileIO::savePitchData(float p_gain, float i_gain, float d_gain, int batt_zeroOffset) { ConfigFile write_pitch_txt; //write to the config file @@ -43,6 +78,41 @@ } } +void ConfigFileIO::saveBCEData(float p_gain, float i_gain, float d_gain) { + ConfigFile write_BCE_txt; //write to the config file + + char PGain_buffer[128]; + sprintf(PGain_buffer,"# configuration file for BCE parameters\n\n#Gains\nPGain"); + + char string_pgain[128]; + sprintf(string_pgain, "%f", p_gain); + write_BCE_txt.setValue(PGain_buffer, string_pgain); + + char string_igain[128]; + sprintf(string_igain, "%f", i_gain); + write_BCE_txt.setValue("IGain", string_igain); + + char string_dgain[128]; + sprintf(string_dgain, "%f", d_gain); + write_BCE_txt.setValue("DGain", string_dgain); + + write_BCE_txt.setValue("\n#string pot parameters\nzeroCounts", "253"); + write_BCE_txt.setValue("PistonTravelLimit", "320.0"); + write_BCE_txt.setValue("slope", "0.12176"); + write_BCE_txt.setValue("filterWn", "6.0"); + write_BCE_txt.setValue("deadband", "0.5"); + + //SAVE THE DATA! + pc().printf("Saving BCE PID data!"); + + if (!write_BCE_txt.write("/local/bce.txt")) { + pc().printf("\n\rERROR: (SAVE)Failure to write bce.txt file."); + } + else { + pc().printf("\n\rFile bce.txt successful written.\n\r"); + } +} + void ConfigFileIO::saveDepthData(float p_gain, float i_gain, float d_gain, int bce_zeroOffset) { ConfigFile write_depth_txt; //write to the config file