1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-24 00:35:18 +03:00
This commit is contained in:
3djc 2019-02-18 11:47:01 +01:00
parent a74d4c6051
commit 77b754fb26
4 changed files with 13 additions and 10 deletions

View file

@ -285,7 +285,7 @@ void runPopupRegister(event_t event)
}
else if (menuHorizontalPosition == 0) {
// [Enter] pressed
moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_REGISTER;
reusableBuffer.modelSetup.pxx2.registerStep = REGISTER_RX_NAME_SELECTED;
}
// no break
@ -1121,23 +1121,25 @@ void menuModelSetup(event_t event)
break;
case ITEM_MODEL_INTERNAL_MODULE_PXX2_RANGE_REGISTER:
TRACE("Phase %d Mode : %d", reusableBuffer.modelSetup.pxx2.registerStep, moduleSettings[INTERNAL_MODULE].mode);
lcdDrawTextAlignedLeft(y, INDENT "Module");
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_MODULE_RANGE, (menuHorizontalPosition==0 ? attr : 0) );
lcdDrawText(lcdLastRightPos, y, "[Reg]", (menuHorizontalPosition==1 ? attr : 0) );
if (attr) {
if (moduleSettings[INTERNAL_MODULE].mode == MODULE_MODE_NORMAL && s_editMode > 0) {
if (menuHorizontalPosition == 1) {
if (menuHorizontalPosition == 1 && reusableBuffer.modelSetup.pxx2.registerStep < REGISTER_RX_NAME_SELECTED) {
moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_REGISTER;
reusableBuffer.modelSetup.pxx2.registerPopupVerticalPosition = 0;
reusableBuffer.modelSetup.pxx2.registerPopupHorizontalPosition = 0;
reusableBuffer.modelSetup.pxx2.registerPopupEditMode = 0;
s_editMode = 0;
POPUP_INPUT("", runPopupRegister);
}
else {
else if (menuHorizontalPosition == 0 && s_editMode > 0) {
moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_RANGECHECK;
}
}
if (s_editMode == 0) {
if (s_editMode == 0 && warningText == 0) {
moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_NORMAL;
}
}

View file

@ -58,10 +58,10 @@ bool Pxx2Pulses::setupRegisterFrame(uint8_t module)
{
addFrameType(PXX2_TYPE_C_MODULE, PXX2_TYPE_ID_REGISTER);
if (reusableBuffer.modelSetup.pxx2.registerStep == REGISTER_COUNTER_ID_RECEIVED) {
if (reusableBuffer.modelSetup.pxx2.registerStep == REGISTER_RX_NAME_SELECTED) {
Pxx2Transport::addByte(0x01);
for (uint8_t i=0; i<PXX2_LEN_RX_NAME; i++) {
Pxx2Transport::addByte(0x00);
Pxx2Transport::addByte(reusableBuffer.modelSetup.pxx2.registerRxName[i]);
}
for (uint8_t i=0; i<PXX2_LEN_REGISTRATION_ID; i++) {
Pxx2Transport::addByte(g_model.modelRegistrationID[i]);

View file

@ -43,7 +43,8 @@ const uint8_t CH9TO16_CHANNEL_MAPPING[] = {0x89, 0xAB, 0xCD, 0xEF, 0x01, 0x23, 0
enum PXX2RegisterSteps {
REGISTER_START,
REGISTER_COUNTER_ID_RECEIVED,
REGISTER_RX_NAME_RECEIVED,
REGISTER_RX_NAME_SELECTED,
REGISTER_OK
};

View file

@ -77,12 +77,12 @@ void processRegisterFrame(uint8_t module, uint8_t * frame)
return;
}
if (frame[3] == 0x00) {
if (frame[3] == 0x00 && reusableBuffer.modelSetup.pxx2.registerStep == REGISTER_START) {
// RX_NAME follows, we store it for the next step
memcpy(reusableBuffer.modelSetup.pxx2.registerRxName, &frame[4], PXX2_LEN_RX_NAME);
reusableBuffer.modelSetup.pxx2.registerStep = REGISTER_COUNTER_ID_RECEIVED;
reusableBuffer.modelSetup.pxx2.registerStep = REGISTER_RX_NAME_RECEIVED;
}
else if (frame[3] == 0x01) {
else if (frame[3] == 0x01 && reusableBuffer.modelSetup.pxx2.registerStep == REGISTER_RX_NAME_SELECTED) {
// RX_NAME + PASSWORD follow, we check they are good
if (memcmp(&frame[4], reusableBuffer.modelSetup.pxx2.registerRxName, PXX2_LEN_RX_NAME) == 0 &&
memcmp(&frame[12], g_model.modelRegistrationID, PXX2_LEN_REGISTRATION_ID) == 0) {