Jelajahi Sumber

fix esp32s2 do not have crc*_be func

ChenJianxing 5 tahun lalu
induk
melakukan
ba67a9518e
1 mengubah file dengan 10 tambahan dan 0 penghapusan
  1. 10 0
      components/esp_common/include/esp_crc.h

+ 10 - 0
components/esp_common/include/esp_crc.h

@@ -24,6 +24,10 @@ extern "C" {
 #include "esp32/rom/crc.h"
 #endif
 
+#if defined(CONFIG_IDF_TARGET_ESP32S2)
+#include "esp32s2/rom/crc.h"
+#endif
+
 /******************* Polynomials Used in the CRC APIs ****************************
 * CRC-8        x8+x2+x1+1                                              0x07
 * CRC16-CCITT  x16+x12+x5+1                                            0x1021
@@ -43,6 +47,7 @@ static inline uint32_t esp_crc32_le(uint32_t crc, uint8_t const *buf, uint32_t l
     return crc32_le(crc, buf, len);
 }
 
+#if defined(CONFIG_IDF_TARGET_ESP32)
 /**
 * @brief CRC32 value in big endian.
 *
@@ -55,6 +60,7 @@ static inline uint32_t esp_crc32_be(uint32_t crc, uint8_t const *buf, uint32_t l
 {
     return crc32_be(crc, buf, len);
 }
+#endif
 
 /**
 * @brief CRC16 value in little endian.
@@ -69,6 +75,7 @@ static inline uint16_t esp_crc16_le(uint16_t crc, uint8_t const *buf, uint32_t l
     return crc16_le(crc, buf, len);
 }
 
+#if defined(CONFIG_IDF_TARGET_ESP32)
 /**
 * @brief CRC16 value in big endian.
 *
@@ -81,6 +88,7 @@ static inline uint16_t esp_crc16_be(uint16_t crc, uint8_t const *buf, uint32_t l
 {
     return crc16_be(crc, buf, len);
 }
+#endif
 
 /**
 * @brief CRC8 value in little endian.
@@ -95,6 +103,7 @@ static inline uint8_t esp_crc8_le(uint8_t crc, uint8_t const *buf, uint32_t len)
     return crc8_le(crc, buf, len);
 }
 
+#if defined(CONFIG_IDF_TARGET_ESP32)
 /**
 * @brief CRC8 value in big endian.
 *
@@ -107,6 +116,7 @@ static inline uint8_t esp_crc8_be(uint8_t crc, uint8_t const *buf, uint32_t len)
 {
     return crc8_be(crc, buf, len);
 }
+#endif
 
 #ifdef __cplusplus
 }