some preliminary ifdefs for the c3

This commit is contained in:
Gordon Williams 2024-05-07 13:46:59 +01:00
parent 75e237ab10
commit fbb26d1669
3 changed files with 31 additions and 0 deletions

View File

@ -18,6 +18,9 @@
#include "driver/adc.h"
#if CONFIG_IDF_TARGET_ESP32
#include "driver/dac.h"
#elif CONFIG_IDF_TARGET_ESP32C3
typedef enum { DAC_CHAN_0=0 , DAC_CHAN_1=1 } dac_channel_t;
#else
#elif CONFIG_IDF_TARGET_ESP32S3
typedef enum { DAC_CHAN_0=0 , DAC_CHAN_1=1 } dac_channel_t;
#else
@ -89,6 +92,9 @@ dac_channel_t pinToDacChannel(Pin pin){
default: channel = -1; break;
}
return channel;
#elif CONFIG_IDF_TARGET_ESP32C3
jsExceptionHere(JSET_ERROR, "not implemented\n");
return 0;
#elif CONFIG_IDF_TARGET_ESP32S3
jsExceptionHere(JSET_ERROR, "not implemented\n");
return 0;
@ -167,6 +173,9 @@ void writeDAC(Pin pin,uint8_t value){
#else
if(channel >= 0) dac_out_voltage(channel, value);
#endif
#elif CONFIG_IDF_TARGET_ESP32C3
jsExceptionHere(JSET_ERROR, "not implemented\n");
#else
#elif CONFIG_IDF_TARGET_ESP32S3
jsExceptionHere(JSET_ERROR, "not implemented\n");
#else

View File

@ -71,6 +71,11 @@ void timerConfig(int freq,int timer){
.speed_mode = LEDC_HIGH_SPEED_MODE,//timer mode,
.timer_num = timer//timer index
};
#elif CONFIG_IDF_TARGET_ESP32C3
.freq_hz = freq,//set frequency of pwm
.speed_mode = LEDC_LOW_SPEED_MODE,//timer mode,
.timer_num = timer//timer index
};
#elif CONFIG_IDF_TARGET_ESP32S3
.freq_hz = freq,//set frequency of pwm
.speed_mode = LEDC_LOW_SPEED_MODE,//timer mode,
@ -92,6 +97,16 @@ void channelConfig(int timer, int channel, int value, Pin pin){
.speed_mode = LEDC_HIGH_SPEED_MODE,//set LEDC mode, from ledc_mode_t
.timer_sel = timer
};
#elif CONFIG_IDF_TARGET_ESP32C3
ledc_channel_config_t PWM_channel = {
.channel = channel,//set LEDC channel 0
.duty = value,//set the duty for initialization.(duty range is 0 ~ ((2**bit_num)-1)
.gpio_num = pin,//GPIO number
.intr_type = LEDC_INTR_DISABLE,//GPIO INTR TYPE, as an example, we enable fade_end interrupt here.
.speed_mode = LEDC_LOW_SPEED_MODE,//set LEDC mode, from ledc_mode_t
.timer_sel = timer
};
#else
#elif CONFIG_IDF_TARGET_ESP32S3
ledc_channel_config_t PWM_channel = {
.channel = channel,//set LEDC channel 0
@ -141,6 +156,9 @@ void setPWM(Pin pin,uint16_t value){
int channel = getChannelIndex(pin);
if(channel < 0) jsError("pin not assigned to pwm");
else ledc_set_duty(LEDC_HIGH_SPEED_MODE, channel, value);
#elif CONFIG_IDF_TARGET_ESP32C3
// No DAC implemented on ESP32C3
#else
#elif CONFIG_IDF_TARGET_ESP32S3
// No DAC implemented on ESP32S3
#else

View File

@ -253,6 +253,8 @@ void timer_Start(int idx,uint64_t duration){
timer_set_alarm_value(ESP32Timers[idx].group, ESP32Timers[idx].index, duration - TIMER_FINE_ADJ);
#if CONFIG_IDF_TARGET_ESP32
TIMER_ALARM_EN(idx);
#elif CONFIG_IDF_TARGET_ESP32C3
TIMERG0.hw_timer[idx].config.tn_alarm_en=1;
#elif CONFIG_IDF_TARGET_ESP32S3
TIMERG0.hw_timer[idx].config.tn_alarm_en=1;
#else
@ -264,6 +266,8 @@ void timer_Reschedule(int idx,uint64_t duration){
timer_set_alarm_value(ESP32Timers[idx].group, ESP32Timers[idx].index, duration - TIMER_FINE_ADJ);
#if CONFIG_IDF_TARGET_ESP32
TIMER_ALARM_EN(idx);
#elif CONFIG_IDF_TARGET_ESP32C3
TIMERG0.hw_timer[idx].config.tn_alarm_en=1;
#elif CONFIG_IDF_TARGET_ESP32S3
TIMERG0.hw_timer[idx].config.tn_alarm_en=1;
#else