Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 1802 → Rev 1801

/C-OSD/trunk/config.c
131,11 → 131,52
 
paramset_serial setting;
 
#define NOFCOMMUNICATION
//#define NOFCOMMUNICATION
#ifndef NOFCOMMUNICATION
usart1_request_blocking('Q', PSTR(REQUEST_CURRENT_SETTING));
memcpy((char*)(&setting), (char*)pRxData, sizeof(paramset_serial));
//setting = *((paramset_serial*)pRxData);
#else
// manual stuff?
memcpy((char*)setting.param.Name, "NO FC COMMUN", 12);
setting.param.UnterspannungsWarnung = 94;
#endif // #ifndef NOFCOMMUNICATION
//write_ascii_char(4 + 12 * 30, rxd_buffer[2]);
 
 
write_ndigit_number_u(10, 7, setting.SettingsIndex, 1, 1);
write_ascii_string_len(13, 7, setting.param.Name, 12);
 
uint8_t cells = 0;
if (CELL_NUM == -1) {
#define MAX_CELL_VOLTAGE 43 // max cell volatage for LiPO
 
if (setting.param.UnterspannungsWarnung < 50) {
// up to 6s LiPo, less than 2s is technical impossible
for (cells = 2; cells < 7; cells++) {
if (UBat < cells * MAX_CELL_VOLTAGE) break;
}
 
min_voltage = cells * setting.param.UnterspannungsWarnung;
} else {
min_voltage = setting.param.UnterspannungsWarnung;
cells = min_voltage / CELL_VOLT_MIN;
}
//write_ndigit_number_u(10, 13, setting.param.UnterspannungsWarnung, 3, 1);
} else {
cells = CELL_NUM;
min_voltage = cells * CELL_VOLT_MIN;
}
 
max_voltage = cells * CELL_VOLT_MAX;
 
write_ndigit_number_u(11, 8, cells, 1, 0);
write_ndigit_number_s_10th(8, 9, min_voltage, 3, 0);
write_ndigit_number_s_10th(20, 9, max_voltage, 3, 0);
 
 
 
// request version from board
#if FCONLY
//usart1_request_mk_data(0, 'v', 0);