Skip to content

Commit 9252f96

Browse files
AdrianSoundynfbot
andauthored
Provide source clock frequency on RMT channel (#2980)
Co-authored-by: nfbot <[email protected]>
1 parent ed6918d commit 9252f96

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

targets/ESP32/_nanoCLR/nanoFramework.Hardware.Esp32.Rmt/nanoFramework_hardware_esp32_rmt_native.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,14 @@ static const CLR_RT_MethodHandler method_lookup[] =
8484
NULL,
8585
NULL,
8686
NULL,
87-
NULL,
8887
Library_nanoFramework_hardware_esp32_rmt_native_nanoFramework_Hardware_Esp32_Rmt_RmtChannel::NativeSetGpioPin___VOID__I4__U1__I4__BOOLEAN,
8988
Library_nanoFramework_hardware_esp32_rmt_native_nanoFramework_Hardware_Esp32_Rmt_RmtChannel::NativeSetClockDivider___VOID__U1,
9089
Library_nanoFramework_hardware_esp32_rmt_native_nanoFramework_Hardware_Esp32_Rmt_RmtChannel::NativeSetNumberOfMemoryBlocks___VOID__U1,
9190
NULL,
9291
NULL,
92+
Library_nanoFramework_hardware_esp32_rmt_native_nanoFramework_Hardware_Esp32_Rmt_RmtChannel::NativeGetSourceClockFrequency___STATIC__I4,
93+
NULL,
94+
NULL,
9395
NULL,
9496
NULL,
9597
NULL,
@@ -141,9 +143,9 @@ static const CLR_RT_MethodHandler method_lookup[] =
141143
const CLR_RT_NativeAssemblyData g_CLR_AssemblyNative_nanoFramework_Hardware_Esp32_Rmt =
142144
{
143145
"nanoFramework.Hardware.Esp32.Rmt",
144-
0x608C5658,
146+
0xB97BFDE3,
145147
method_lookup,
146-
{ 100, 0, 4, 0 }
148+
{ 100, 0, 5, 0 }
147149
};
148150

149151
// clang-format on

targets/ESP32/_nanoCLR/nanoFramework.Hardware.Esp32.Rmt/nanoFramework_hardware_esp32_rmt_native.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ struct Library_nanoFramework_hardware_esp32_rmt_native_nanoFramework_Hardware_Es
9191
NANOCLR_NATIVE_DECLARE(NativeSetGpioPin___VOID__I4__U1__I4__BOOLEAN);
9292
NANOCLR_NATIVE_DECLARE(NativeSetClockDivider___VOID__U1);
9393
NANOCLR_NATIVE_DECLARE(NativeSetNumberOfMemoryBlocks___VOID__U1);
94+
NANOCLR_NATIVE_DECLARE(NativeGetSourceClockFrequency___STATIC__I4);
9495

9596
//--//
9697

targets/ESP32/_nanoCLR/nanoFramework.Hardware.Esp32.Rmt/nanoFramework_hardware_esp32_rmt_native_nanoFramework_Hardware_Esp32_Rmt_RmtChannel.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,18 @@ bool Library_nanoFramework_hardware_esp32_rmt_native_nanoFramework_Hardware_Esp3
127127

128128
return true;
129129
}
130+
131+
HRESULT Library_nanoFramework_hardware_esp32_rmt_native_nanoFramework_Hardware_Esp32_Rmt_RmtChannel::
132+
NativeGetSourceClockFrequency___STATIC__I4(CLR_RT_StackFrame &stack)
133+
{
134+
NANOCLR_HEADER();
135+
136+
// Currently we use the default clock for all targets. This is 80Mhz except for H2 where it is 32Mhz.
137+
#if defined(CONFIG_IDF_TARGET_ESP32H2)
138+
stack.SetResult_I4(32000000);
139+
#else
140+
stack.SetResult_I4(80000000);
141+
#endif
142+
143+
NANOCLR_NOCLEANUP_NOLABEL();
144+
}

0 commit comments

Comments
 (0)