void LoadSettings() { unsigned int addr = 0; EEprom_read(&addr, (unsigned char *) &Config, sizeof (Config)); if (!(Config.Version == CONFIG_SCHEMA_VERSION)) { FactoryDefault(); SaveSettings(); } }
void main(void) { signed char ret = 0; signed char lastMenu = 0; char pnum = 0; SetupIO(); MOTOR_FORWARD = 0; MOTOR_REVERSE = 0; Move_shifted_position.ul = 0; Move_position[0].ul = 0; Move_position[1].ul = 0; //PID_SetPoint = 0; char idx; for (idx = 0; idx < 16; idx++) RotaryDetentIntervals[idx] = 0xFF; //LoadSettings(); FactoryDefault(); SetupHardware(); LCD_PowerUp(); LCD_ClearDisplay(); LCD_PrintString("CINEFLUX ORBIT\0"); LCD_SetPosition(1,0); LCD_PrintString(VER); Wait_ms(2000); const char *COMMAND_0 = "ORBIT MODE\0"; const char *COMMAND_1 = "WAYPOINT MODE\0"; const char *COMMAND_3 = "RUN PRESET\0"; const char *COMMAND_2 = "REALTIME MODE\0"; const char *COMMAND_4 = "BATTERY VOLTAGE\0"; const char *COMMAND_5 = "GO TO SLEEP\0"; const char *COMMAND_6 = "EXTERNAL CTRL MODE\0"; const char*CommandMenu[7]; CommandMenu[0] = COMMAND_0; CommandMenu[1] = COMMAND_1; CommandMenu[2] = COMMAND_2; CommandMenu[3] = COMMAND_3; CommandMenu[4] = COMMAND_4; CommandMenu[5] = COMMAND_5; CommandMenu[6] = COMMAND_6; bFollowMode = 1; LCD_ClearDisplay(); LCD_PrintString("MOVE TO ZERO DEGREES\0"); LCD_SetPosition(1, 0); LCD_PrintString("THEN CLICK...\0"); GetClick(); bClear_MotorPosition = 1; while (bClear_MotorPosition) Idle(); Wait_ms(10); bFollowMode = 0; LCD_ClearDisplay(); while (1) { ret = DisplayMenu(CommandMenu, 6, lastMenu); switch (ret) { case 0: lastMenu = 0; if (!CreateOrbitProgram() == 0) RealtimeMode(); break; case 1: lastMenu = 1; if (!CreateWaypointProgram() == 0) RealtimeMode(); break; case 3: lastMenu = 2; ret = GetPresetNumber(); if (ret == -1) break; if (ret == -2) break; pnum = ret; switch (GetPresetType(pnum)) { case 1: LoadPreset(pnum, (unsigned char *) &CurrentPath); if (!RunWaypointProgram() == 0) RealtimeMode(); break; case 2: LoadPreset(pnum, (unsigned char *) &CurrentOrbitProgram); if (!RunOrbitProgram() == 0) RealtimeMode(); break; } break; case 2: lastMenu = 2; RealtimeMode(); break; case 4: lastMenu = 0; ShowVoltage(); break; case 5: lastMenu = 0; GoToSleep(); break; case 6: lastMenu = 0; ExtMode(); break; } } }
int main(int argc, char* argv[]) { AV2000F dll; try{ dll.Initialization(); } catch(std::exception& ex){ std::cout << "\nerror(s) on load library, description: " << ex.what() << std::endl; return 0; } dll.pSetAllocateFunction(Allocate); dll.pSetDeallocateFunction(Deallocate); dll.pReinitedFunction(Reinited); if(argc < 2){ std::cout << "no parameters into the command line" << std::endl; return 0; } // check for print help if(strchr(argv[1], '?')) { Usage(); return 0; } int i; // read all parameters from command line PARAMS params; for(i = 2; i <= argc; i += 1) if(argv[i-1][0] == '-') if(i < argc) params[argv[i-1]] = argv[i]; else params[argv[i-1]]; /* read mode program img - get image; gcp - get camera parameter, if add "-all" - get all known parameters scp - set camera parameter fdf - factory defaults prm - permanently save find - find cameras */ PARAMS::iterator iter = params.find("-md"); if(iter == params.end()){ std::cout << "\"-md\" - not found"; return 0; } if("find" == iter->second){ FindCameras(dll); return 0; } // read IP address if(params.find("-ip") == params.end()) { std::cout << "IP address of camera not found\n"; return 0; } if(iter->second == "img"){ GetImage(dll, params); return 0; } if(iter->second == "h264"){ GetImageH264(dll, params); return 0; } if(iter->second == "imgdef"){ GetImageDef(dll, params); return 0; } if(iter->second == "gcp" || iter->second == "scp"){ CameraParameter(dll, params); return 0; } if("fdf" == iter->second){ FactoryDefault(dll, params["-ip"].c_str()); return 0; } if("prm" == iter->second){ Permanently(dll, params["-ip"].c_str()); return 0; } std::cout << "mode: " << '\"' << iter->second << '\"' << " is unknown\n"; return 0; }