|
@@ -1,3 +1,4 @@
|
|
|
|
+#include <string.h>
|
|
#include "freertos/FreeRTOS.h"
|
|
#include "freertos/FreeRTOS.h"
|
|
#include "freertos/task.h"
|
|
#include "freertos/task.h"
|
|
#include "freertos/queue.h"
|
|
#include "freertos/queue.h"
|
|
@@ -50,7 +51,12 @@ void toshibaTxTask(void *pvParameter)
|
|
|
|
|
|
void initIrTransmit() {
|
|
void initIrTransmit() {
|
|
|
|
|
|
|
|
+ const esp_err_t uninstRetVal = rmt_driver_uninstall(RMT_TX_CHANNEL);
|
|
|
|
+
|
|
|
|
+ ESP_LOGI("IR_TRANSMIT","Uninst: %u", uninstRetVal);
|
|
|
|
+
|
|
rmt_config_t rmt_tx;
|
|
rmt_config_t rmt_tx;
|
|
|
|
+ memset(&rmt_tx,0,sizeof(rmt_config_t));
|
|
rmt_tx.rmt_mode = RMT_MODE_TX;
|
|
rmt_tx.rmt_mode = RMT_MODE_TX;
|
|
rmt_tx.channel = RMT_TX_CHANNEL;
|
|
rmt_tx.channel = RMT_TX_CHANNEL;
|
|
rmt_tx.gpio_num = GPIO_IR_TX_DATA;
|
|
rmt_tx.gpio_num = GPIO_IR_TX_DATA;
|
|
@@ -65,8 +71,15 @@ void initIrTransmit() {
|
|
rmt_tx.tx_config.idle_output_en = true;
|
|
rmt_tx.tx_config.idle_output_en = true;
|
|
rmt_tx.flags = 0;
|
|
rmt_tx.flags = 0;
|
|
|
|
|
|
|
|
+ ESP_LOGI("IR_TRANSMIT","Install driver....");
|
|
ESP_ERROR_CHECK( rmt_config(&rmt_tx) );
|
|
ESP_ERROR_CHECK( rmt_config(&rmt_tx) );
|
|
- ESP_ERROR_CHECK( rmt_driver_install(rmt_tx.channel, 0, 0) );
|
|
|
|
|
|
+ const esp_err_t retVal = rmt_driver_install(rmt_tx.channel, 0, 0);
|
|
|
|
+ if( retVal != ESP_OK ) {
|
|
|
|
+ ESP_LOGE("IR_TRANSMIT","Error on driver install %u",retVal);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //ESP_ERROR_CHECK( rmt_driver_install(rmt_tx.channel, 0, 0) );
|
|
|
|
|
|
// Init the ir data field
|
|
// Init the ir data field
|
|
toshiba_rmt[0].val = (kToshibaAcHdrMark << 0) | (1 << 15) | (kToshibaAcHdrSpace << 16); // Header of IR Transmit
|
|
toshiba_rmt[0].val = (kToshibaAcHdrMark << 0) | (1 << 15) | (kToshibaAcHdrSpace << 16); // Header of IR Transmit
|