mirror of
https://github.com/esphome/esphome.git
synced 2024-12-26 23:41:45 +01:00
Update ebyte_lora.cpp
This commit is contained in:
parent
9912056808
commit
113d5bf69e
1 changed files with 21 additions and 21 deletions
|
@ -7,7 +7,7 @@ static const uint8_t PROGRAM_CONF = 0xC1;
|
||||||
void EbyteLoraComponent::update() {
|
void EbyteLoraComponent::update() {
|
||||||
if (this->config.command == 0) {
|
if (this->config.command == 0) {
|
||||||
ESP_LOGD(TAG, "Config not set yet!, gonna request it now!");
|
ESP_LOGD(TAG, "Config not set yet!, gonna request it now!");
|
||||||
get_current_config_();
|
this->get_current_config_();
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
ESP_LOGD(TAG, "Current config:");
|
ESP_LOGD(TAG, "Current config:");
|
||||||
|
@ -169,59 +169,59 @@ void EbyteLoraComponent::update() {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (get_mode_() != NORMAL) {
|
if (this->get_mode_() != NORMAL) {
|
||||||
ESP_LOGD(TAG, "Mode was not set right");
|
ESP_LOGD(TAG, "Mode was not set right");
|
||||||
set_mode_(NORMAL);
|
this->set_mode_(NORMAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
send_switch_info_();
|
this->send_switch_info_();
|
||||||
}
|
}
|
||||||
void EbyteLoraComponent::setup() {
|
void EbyteLoraComponent::setup() {
|
||||||
this->pin_aux_->setup();
|
this->pin_aux_->setup();
|
||||||
this->pin_m0_->setup();
|
this->pin_m0_->setup();
|
||||||
this->pin_m1_->setup();
|
this->pin_m1_->setup();
|
||||||
get_current_config_();
|
this->get_current_config_();
|
||||||
ESP_LOGD(TAG, "Setup success");
|
ESP_LOGD(TAG, "Setup success");
|
||||||
}
|
}
|
||||||
void EbyteLoraComponent::get_current_config_() {
|
void EbyteLoraComponent::get_current_config_() {
|
||||||
set_mode_(CONFIGURATION);
|
this->set_mode_(CONFIGURATION);
|
||||||
uint8_t data[3] = {PROGRAM_CONF, 0x00, 0x08};
|
uint8_t data[3] = {PROGRAM_CONF, 0x00, 0x08};
|
||||||
this->write_array(data, sizeof(data));
|
this->write_array(data, sizeof(data));
|
||||||
ESP_LOGD(TAG, "Config info requested");
|
ESP_LOGD(TAG, "Config info requested");
|
||||||
}
|
}
|
||||||
ModeType EbyteLoraComponent::get_mode_() {
|
ModeType EbyteLoraComponent::get_mode_() {
|
||||||
ModeType internalMode = MODE_INIT;
|
ModeType internal_mode = MODE_INIT;
|
||||||
if (!EbyteLoraComponent::can_send_message_()) {
|
if (!this->can_send_message_()) {
|
||||||
return internalMode;
|
return internal_mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool pin1 = this->pin_m0_->digital_read();
|
bool pin1 = this->pin_m0_->digital_read();
|
||||||
bool pin2 = this->pin_m1_->digital_read();
|
bool pin2 = this->pin_m1_->digital_read();
|
||||||
if (!pin1 && !pin2) {
|
if (!pin1 && !pin2) {
|
||||||
// ESP_LOGD(TAG, "MODE NORMAL!");
|
// ESP_LOGD(TAG, "MODE NORMAL!");
|
||||||
internalMode = NORMAL;
|
internal_mode = NORMAL;
|
||||||
}
|
}
|
||||||
if (pin1 && !pin2) {
|
if (pin1 && !pin2) {
|
||||||
// ESP_LOGD(TAG, "MODE WOR!");
|
// ESP_LOGD(TAG, "MODE WOR!");
|
||||||
internalMode = WOR_SEND;
|
internal_mode = WOR_SEND;
|
||||||
}
|
}
|
||||||
if (!pin1 && pin2) {
|
if (!pin1 && pin2) {
|
||||||
// ESP_LOGD(TAG, "MODE WOR!");
|
// ESP_LOGD(TAG, "MODE WOR!");
|
||||||
internalMode = WOR_RECEIVER;
|
internal_mode = WOR_RECEIVER;
|
||||||
}
|
}
|
||||||
if (pin1 && pin2) {
|
if (pin1 && pin2) {
|
||||||
// ESP_LOGD(TAG, "MODE Conf!");
|
// ESP_LOGD(TAG, "MODE Conf!");
|
||||||
internalMode = CONFIGURATION;
|
internal_mode = CONFIGURATION;
|
||||||
}
|
}
|
||||||
if (internalMode != this->mode_) {
|
if (internal_mode != this->mode_) {
|
||||||
ESP_LOGD(TAG, "Modes are not equal, calling the set function!! , checked: %u, expected: %u", internalMode,
|
ESP_LOGD(TAG, "Modes are not equal, calling the set function!! , checked: %u, expected: %u", internal_mode,
|
||||||
this->mode_);
|
this->mode_);
|
||||||
set_mode_(internalMode);
|
this->set_mode_(internal_mode);
|
||||||
}
|
}
|
||||||
return internalMode;
|
return internal_mode;
|
||||||
}
|
}
|
||||||
void EbyteLoraComponent::set_mode_(ModeType mode) {
|
void EbyteLoraComponent::set_mode_(ModeType mode) {
|
||||||
if (!can_send_message_()) {
|
if (!this->can_send_message_()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (this->pin_m0_ == nullptr && this->pin_m1_ == nullptr) {
|
if (this->pin_m0_ == nullptr && this->pin_m1_ == nullptr) {
|
||||||
|
@ -298,7 +298,7 @@ void EbyteLoraComponent::dump_config() {
|
||||||
};
|
};
|
||||||
void EbyteLoraComponent::digital_write(uint8_t pin, bool value) { this->send_switch_push_(pin, value); }
|
void EbyteLoraComponent::digital_write(uint8_t pin, bool value) { this->send_switch_push_(pin, value); }
|
||||||
void EbyteLoraComponent::send_switch_push_(uint8_t pin, bool value) {
|
void EbyteLoraComponent::send_switch_push_(uint8_t pin, bool value) {
|
||||||
if (!EbyteLoraComponent::can_send_message_()) {
|
if (!this->can_send_message_()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
uint8_t data[3];
|
uint8_t data[3];
|
||||||
|
@ -363,11 +363,11 @@ void EbyteLoraComponent::loop() {
|
||||||
ESP_LOGD(TAG, "GOT PROGRAM_CONF");
|
ESP_LOGD(TAG, "GOT PROGRAM_CONF");
|
||||||
memset(&this->config, 0, sizeof(RegisterConfig));
|
memset(&this->config, 0, sizeof(RegisterConfig));
|
||||||
memcpy(&this->config, &data, sizeof(RegisterConfig));
|
memcpy(&this->config, &data, sizeof(RegisterConfig));
|
||||||
set_mode_(NORMAL);
|
this->set_mode_(NORMAL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void EbyteLoraComponent::send_switch_info_() {
|
void EbyteLoraComponent::send_switch_info_() {
|
||||||
if (!EbyteLoraComponent::can_send_message_()) {
|
if (!this->can_send_message_()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
std::vector<uint8_t> data;
|
std::vector<uint8_t> data;
|
||||||
|
|
Loading…
Reference in a new issue