mirror of
https://github.com/opentx/opentx.git
synced 2025-07-14 03:49:52 +03:00
If modelRegistrationID is default it will be kept the same than ownerRegistrationID
This commit is contained in:
parent
7f05872bd4
commit
b1ea16c3d8
7 changed files with 25 additions and 12 deletions
|
@ -377,6 +377,10 @@ void runPopupRegister(event_t event)
|
||||||
}
|
}
|
||||||
else if (reusableBuffer.moduleSetup.pxx2.registerStep >= REGISTER_RX_NAME_RECEIVED && menuHorizontalPosition == 0) {
|
else if (reusableBuffer.moduleSetup.pxx2.registerStep >= REGISTER_RX_NAME_RECEIVED && menuHorizontalPosition == 0) {
|
||||||
// [Enter] pressed
|
// [Enter] pressed
|
||||||
|
if (memcmp(reusableBuffer.moduleSetup.pxx2.registrationId, g_eeGeneral.ownerRegistrationID, PXX2_LEN_REGISTRATION_ID) == 0)
|
||||||
|
memclear(g_model.modelRegistrationID, PXX2_LEN_REGISTRATION_ID);
|
||||||
|
else
|
||||||
|
memcpy(g_model.modelRegistrationID, reusableBuffer.moduleSetup.pxx2.registrationId, PXX2_LEN_REGISTRATION_ID);
|
||||||
reusableBuffer.moduleSetup.pxx2.registerStep = REGISTER_RX_NAME_SELECTED;
|
reusableBuffer.moduleSetup.pxx2.registerStep = REGISTER_RX_NAME_SELECTED;
|
||||||
backupEditMode = EDIT_MODIFY_FIELD; // so that the [Register] button blinks and the REGISTER process can continue
|
backupEditMode = EDIT_MODIFY_FIELD; // so that the [Register] button blinks and the REGISTER process can continue
|
||||||
}
|
}
|
||||||
|
@ -401,7 +405,7 @@ void runPopupRegister(event_t event)
|
||||||
|
|
||||||
// registration password
|
// registration password
|
||||||
lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 4, STR_REG_ID);
|
lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 4, STR_REG_ID);
|
||||||
editName(WARNING_LINE_X + 8*FW, WARNING_LINE_Y - 4, g_model.modelRegistrationID, PXX2_LEN_REGISTRATION_ID, event, menuVerticalPosition == ITEM_REGISTER_PASSWORD);
|
editName(WARNING_LINE_X + 8*FW, WARNING_LINE_Y - 4, reusableBuffer.moduleSetup.pxx2.registrationId, PXX2_LEN_REGISTRATION_ID, event, menuVerticalPosition == ITEM_REGISTER_PASSWORD);
|
||||||
|
|
||||||
// loop index (will be removed in future)
|
// loop index (will be removed in future)
|
||||||
lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 4 + FH, "UID");
|
lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 4 + FH, "UID");
|
||||||
|
@ -436,15 +440,13 @@ void runPopupRegister(event_t event)
|
||||||
void startRegisterDialog(uint8_t module)
|
void startRegisterDialog(uint8_t module)
|
||||||
{
|
{
|
||||||
memclear(&reusableBuffer.moduleSetup.pxx2, sizeof(reusableBuffer.moduleSetup.pxx2));
|
memclear(&reusableBuffer.moduleSetup.pxx2, sizeof(reusableBuffer.moduleSetup.pxx2));
|
||||||
|
memcpy(reusableBuffer.moduleSetup.pxx2.registrationId, currentRegistrationID(), PXX2_LEN_REGISTRATION_ID);
|
||||||
moduleSettings[module].mode = MODULE_MODE_REGISTER;
|
moduleSettings[module].mode = MODULE_MODE_REGISTER;
|
||||||
s_editMode = 0;
|
s_editMode = 0;
|
||||||
POPUP_INPUT("", runPopupRegister);
|
POPUP_INPUT("", runPopupRegister);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool isDefaultModelRegistrationID()
|
|
||||||
{
|
|
||||||
return memcmp(g_model.modelRegistrationID, g_eeGeneral.ownerRegistrationID, PXX2_LEN_REGISTRATION_ID) == 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void menuModelSetup(event_t event)
|
void menuModelSetup(event_t event)
|
||||||
{
|
{
|
||||||
|
@ -1250,7 +1252,7 @@ void menuModelSetup(event_t event)
|
||||||
if (isDefaultModelRegistrationID())
|
if (isDefaultModelRegistrationID())
|
||||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, "<default>");
|
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, "<default>");
|
||||||
else
|
else
|
||||||
lcdDrawSizedText(MODEL_SETUP_2ND_COLUMN, y, g_model.modelRegistrationID, sizeof(g_model.modelRegistrationID), ZCHAR);
|
lcdDrawSizedText(MODEL_SETUP_2ND_COLUMN, y, g_model.modelRegistrationID, PXX2_LEN_REGISTRATION_ID, ZCHAR);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM_MODEL_INTERNAL_MODULE_PXX2_MODEL_NUM:
|
case ITEM_MODEL_INTERNAL_MODULE_PXX2_MODEL_NUM:
|
||||||
|
|
|
@ -461,8 +461,6 @@ void modelDefault(uint8_t id)
|
||||||
|
|
||||||
applyDefaultTemplate();
|
applyDefaultTemplate();
|
||||||
|
|
||||||
memcpy(g_model.modelRegistrationID, g_eeGeneral.ownerRegistrationID, PXX2_LEN_REGISTRATION_ID);
|
|
||||||
|
|
||||||
#if defined(LUA) && defined(PCBTARANIS) //Horus uses menuModelWizard() for wizard
|
#if defined(LUA) && defined(PCBTARANIS) //Horus uses menuModelWizard() for wizard
|
||||||
if (isFileAvailable(WIZARD_PATH "/" WIZARD_NAME)) {
|
if (isFileAvailable(WIZARD_PATH "/" WIZARD_NAME)) {
|
||||||
f_chdir(WIZARD_PATH);
|
f_chdir(WIZARD_PATH);
|
||||||
|
|
|
@ -1132,6 +1132,7 @@ union ReusableBuffer
|
||||||
uint8_t bindStep;
|
uint8_t bindStep;
|
||||||
uint8_t resetStep;
|
uint8_t resetStep;
|
||||||
};
|
};
|
||||||
|
char registrationId[PXX2_LEN_REGISTRATION_ID];
|
||||||
uint32_t bindWaitTimeout;
|
uint32_t bindWaitTimeout;
|
||||||
uint8_t registerPopupVerticalPosition;
|
uint8_t registerPopupVerticalPosition;
|
||||||
uint8_t registerPopupHorizontalPosition;
|
uint8_t registerPopupHorizontalPosition;
|
||||||
|
|
|
@ -268,4 +268,14 @@ inline bool isModuleOptionAvailable(uint8_t modelId, uint8_t option)
|
||||||
return moduleOptions[modelId] & (1 << option);
|
return moduleOptions[modelId] & (1 << option);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline bool isDefaultModelRegistrationID()
|
||||||
|
{
|
||||||
|
return is_memclear(g_model.modelRegistrationID, PXX2_LEN_REGISTRATION_ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline const char * currentRegistrationID()
|
||||||
|
{
|
||||||
|
return isDefaultModelRegistrationID() ? g_eeGeneral.ownerRegistrationID : g_model.modelRegistrationID;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // _MODULES_H_
|
#endif // _MODULES_H_
|
||||||
|
|
|
@ -157,8 +157,9 @@ void Pxx2Pulses::setupRegisterFrame(uint8_t module)
|
||||||
for (uint8_t i=0; i<PXX2_LEN_RX_NAME; i++) {
|
for (uint8_t i=0; i<PXX2_LEN_RX_NAME; i++) {
|
||||||
Pxx2Transport::addByte(zchar2char(reusableBuffer.moduleSetup.pxx2.registerRxName[i]));
|
Pxx2Transport::addByte(zchar2char(reusableBuffer.moduleSetup.pxx2.registerRxName[i]));
|
||||||
}
|
}
|
||||||
|
const char * registrationID = currentRegistrationID();
|
||||||
for (uint8_t i=0; i<PXX2_LEN_REGISTRATION_ID; i++) {
|
for (uint8_t i=0; i<PXX2_LEN_REGISTRATION_ID; i++) {
|
||||||
Pxx2Transport::addByte(zchar2char(g_model.modelRegistrationID[i]));
|
Pxx2Transport::addByte(zchar2char(registrationID[i]));
|
||||||
}
|
}
|
||||||
Pxx2Transport::addByte(reusableBuffer.moduleSetup.pxx2.registerLoopIndex);
|
Pxx2Transport::addByte(reusableBuffer.moduleSetup.pxx2.registerLoopIndex);
|
||||||
}
|
}
|
||||||
|
@ -239,8 +240,9 @@ void Pxx2Pulses::setupBindFrame(uint8_t module)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Pxx2Transport::addByte(0x00);
|
Pxx2Transport::addByte(0x00);
|
||||||
|
const char * registrationID = currentRegistrationID();
|
||||||
for (uint8_t i=0; i<PXX2_LEN_REGISTRATION_ID; i++) {
|
for (uint8_t i=0; i<PXX2_LEN_REGISTRATION_ID; i++) {
|
||||||
Pxx2Transport::addByte(zchar2char(g_model.modelRegistrationID[i]));
|
Pxx2Transport::addByte(zchar2char(registrationID[i]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,7 +118,7 @@ void processRegisterFrame(uint8_t module, uint8_t * frame)
|
||||||
if (reusableBuffer.moduleSetup.pxx2.registerStep == REGISTER_RX_NAME_SELECTED) {
|
if (reusableBuffer.moduleSetup.pxx2.registerStep == REGISTER_RX_NAME_SELECTED) {
|
||||||
// RX_NAME + PASSWORD follow, we check they are good
|
// RX_NAME + PASSWORD follow, we check they are good
|
||||||
if (cmpStrWithZchar((char *)&frame[4], reusableBuffer.moduleSetup.pxx2.registerRxName, PXX2_LEN_RX_NAME) &&
|
if (cmpStrWithZchar((char *)&frame[4], reusableBuffer.moduleSetup.pxx2.registerRxName, PXX2_LEN_RX_NAME) &&
|
||||||
cmpStrWithZchar((char *)&frame[12], g_model.modelRegistrationID, PXX2_LEN_REGISTRATION_ID)) {
|
cmpStrWithZchar((char *)&frame[12], currentRegistrationID(), PXX2_LEN_REGISTRATION_ID)) {
|
||||||
reusableBuffer.moduleSetup.pxx2.registerStep = REGISTER_OK;
|
reusableBuffer.moduleSetup.pxx2.registerStep = REGISTER_OK;
|
||||||
moduleSettings[module].mode = MODULE_MODE_NORMAL;
|
moduleSettings[module].mode = MODULE_MODE_NORMAL;
|
||||||
POPUP_INFORMATION(STR_REG_OK);
|
POPUP_INFORMATION(STR_REG_OK);
|
||||||
|
|
|
@ -21,7 +21,7 @@ options = {
|
||||||
}
|
}
|
||||||
|
|
||||||
def timestamp():
|
def timestamp():
|
||||||
return datetime.datetime.now().strftime("%Y-%m-%d-%H%M")
|
return datetime.datetime.now().strftime("%y%m%d")
|
||||||
|
|
||||||
|
|
||||||
def build(board, srcdir):
|
def build(board, srcdir):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue