code space optimization

This commit is contained in:
Siwat Sirichai 2023-12-08 18:33:33 +07:00
parent 3736f53112
commit c1f4f5c1cd
2 changed files with 12 additions and 10 deletions

View File

@ -704,7 +704,7 @@ void mqtt_subscribe()
* @param payload The payload of the received message. * @param payload The payload of the received message.
* @param length The length of the payload. * @param length The length of the payload.
*/ */
void mqtt_callback(char *topic, byte *payload, unsigned int length) IRAM_ATTR void mqtt_callback(char *topic, byte *payload, unsigned int length)
{ {
uint8_t topic_length = strlen(topic); uint8_t topic_length = strlen(topic);
char topic_trim[50]; char topic_trim[50];
@ -796,7 +796,7 @@ void thread_initialization()
* @param payload The message payload. * @param payload The message payload.
* @param payload_length The length of the message payload. * @param payload_length The length of the message payload.
*/ */
void pwm_state_callback(char *topic, uint8_t topic_length, char *payload, unsigned int payload_length) IRAM_ATTR void pwm_state_callback(char *topic, uint8_t topic_length, char *payload, unsigned int payload_length)
{ {
int a = topic[5] - '0'; int a = topic[5] - '0';
int b = topic[6] - '0'; int b = topic[6] - '0';
@ -822,7 +822,7 @@ void pwm_state_callback(char *topic, uint8_t topic_length, char *payload, unsign
* @param payload The message payload. * @param payload The message payload.
* @param payload_length The length of the message payload. * @param payload_length The length of the message payload.
*/ */
void pwm_value_callback(char *topic, uint8_t topic_length, char *payload, unsigned int payload_length) IRAM_ATTR void pwm_value_callback(char *topic, uint8_t topic_length, char *payload, unsigned int payload_length)
{ {
int a = topic[5] - '0'; int a = topic[5] - '0';
int b = topic[6] - '0'; int b = topic[6] - '0';
@ -925,7 +925,7 @@ void publish_pwm_value(int id)
* @param id The ID of the PWM pin. * @param id The ID of the PWM pin.
* @param state The new state of the PWM pin. * @param state The new state of the PWM pin.
*/ */
void pwm_set_state(int id, int state) IRAM_ATTR void pwm_set_state(int id, int state)
{ {
if (state != pwm_states[id]) if (state != pwm_states[id])
{ {
@ -949,7 +949,7 @@ void pwm_set_state(int id, int state)
* @param id The id of the PWM pin. * @param id The id of the PWM pin.
* @param value The value to set the PWM pin to. * @param value The value to set the PWM pin to.
*/ */
void pwm_set_value(int id, int value) IRAM_ATTR void pwm_set_value(int id, int value)
{ {
pwm_values[id] = value; pwm_values[id] = value;
int pwm_state = pwm_states[id]; int pwm_state = pwm_states[id];
@ -1268,6 +1268,8 @@ void ac_set_state(int mode, int temperature, int fan_speed)
*/ */
void publish_env_state() void publish_env_state()
{ {
if(!pwm_report_enable)
return;
int errorCode = env_sensor.read(); int errorCode = env_sensor.read();
yield(); yield();
switch (errorCode) switch (errorCode)

View File

@ -43,7 +43,7 @@
#endif #endif
#include "espmega_iot_timer.hpp" #include "espmega_iot_timer.hpp"
void mqtt_callback(char* topic, byte* payload, unsigned int length); IRAM_ATTR void mqtt_callback(char* topic, byte* payload, unsigned int length);
void virtual_interrupt_loop(); void virtual_interrupt_loop();
void virtual_interrupt_callback(int pin, int state); void virtual_interrupt_callback(int pin, int state);
void virtual_interrupt_preload(); void virtual_interrupt_preload();
@ -51,8 +51,8 @@ void network_begin();
void mqtt_connect(); void mqtt_connect();
void mqtt_subscribe(); void mqtt_subscribe();
void thread_initialization(); void thread_initialization();
void pwm_state_callback(char* topic, uint8_t topic_length, char* payload, unsigned int payload_length); IRAM_ATTR void pwm_state_callback(char* topic, uint8_t topic_length, char* payload, unsigned int payload_length);
void pwm_value_callback(char* topic, uint8_t topic_length, char* payload, unsigned int payload_length); IRAM_ATTR void pwm_value_callback(char* topic, uint8_t topic_length, char* payload, unsigned int payload_length);
void state_request_callback(); void state_request_callback();
void io_begin(); void io_begin();
void ir_loop(); void ir_loop();
@ -62,8 +62,8 @@ void ota_begin();
void publish_pwm_states(); void publish_pwm_states();
void publish_pwm_state(int id); void publish_pwm_state(int id);
void publish_pwm_value(int id); void publish_pwm_value(int id);
void pwm_set_state(int id, int state); IRAM_ATTR void pwm_set_state(int id, int state);
void pwm_set_value(int id, int value); IRAM_ATTR void pwm_set_value(int id, int value);
void pwm_toggle(int id); void pwm_toggle(int id);
void pwm_toggle(int id1, int id2); void pwm_toggle(int id1, int id2);
void pwm_cycle_value(int id); void pwm_cycle_value(int id);