123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- /**
- * @file mcu_api.h
- * @brief declaration of fuction in mcu_api.c
- * @author qinlang
- * @date 2022.05.06
- * @par email:qinlang.chen@tuya.com
- * @copyright HANGZHOU TUYA INFORMATION TECHNOLOGY CO.,LTD
- * @par company
- * http://www.tuya.com
- */
- #ifndef __MCU_API_H_
- #define __MCU_API_H_
- #ifdef __cplusplus
- extern "C"
- {
- #endif
- #ifdef MCU_API_GLOBAL
- #define MCU_API_EXTERN
- #else
- #define MCU_API_EXTERN extern
- #endif
- /**
- * @brief hex translate to bcd
- * @param[in] {Value_H} higher bits data
- * @param[in] {Value_L} lower bits data
- * @return bcd type data
- */
- unsigned char hex_to_bcd(unsigned char Value_H,unsigned char Value_L);
- /**
- * @brief get string len
- * @param[in] {str} higher bits data
- * @return string len
- */
- unsigned long my_strlen(unsigned char *str);
- /**
- * @brief assign ch to the first count bytes of the memory address src
- * @param[in] {src} srouce address
- * @param[in] {ch} set value
- * @param[in] {count} length of set address
- * @return void
- */
- void *my_memset(void *src,unsigned char ch,unsigned short count);
- /**
- * @brief copy count bytes data from src to dest
- * @param[in] {src} srouce address
- * @param[in] {dest} destination address
- * @param[in] {count} length of copy data
- * @return void
- */
- void *my_memcpy(void *dest, const void *src, unsigned short count);
- /**
- * @brief copy string src to string dest
- * @param[in] {src} srouce address
- * @param[in] {dest} destination address
- * @return the tail of destination
- */
- char *my_strcpy(char *dest, const char *src);
- /**
- * @brief compare string s1 with string s2
- * @param[in] {s1} srouce address
- * @param[in] {s2} destination address
- * @return compare result
- */
- int my_strcmp(char *s1 , char *s2);
- /**
- * @brief int translate to byte
- * @param[in] {number} int data
- * @param[out] {value} the result array
- * @return void
- */
- void int_to_byte(unsigned long number,unsigned char value[4]);
- /**
- * @brief byte data translate to int
- * @param[in] {value} the byte array
- * @return result of int data
- */
- unsigned long byte_to_int(const unsigned char value[4]);
- /**
- * @brief report bool type DP data to zigbee module
- * @param[in] {dpid} dp id
- * @param[in] {value} Data contents of dp
- * @return send result
- */
- unsigned char mcu_dp_bool_update(unsigned char dpid,unsigned char value);
- /**
- * @brief report enum type DP data to zigbee module
- * @param[in] {dpid} dp id
- * @param[in] {value} Data contents of dp
- * @return send result
- */
- unsigned char mcu_dp_enum_update(unsigned char dpid,unsigned char value);
- /**
- * @brief report bitmap type DP data to zigbee module
- * @param[in] {dpid} dp id
- * @param[in] {value} Data contents of dp
- * @return send result
- */
- unsigned char mcu_dp_bitmap_update(unsigned char dpid,unsigned long value);
- /**
- * @brief report fault type DP data to zigbee module
- * @param[in] {dpid} dp id
- * @param[in] {value} Data contents of dp
- * @return send result
- */
- unsigned char mcu_dp_fault_update(unsigned char dpid,unsigned long value);
- /**
- * @brief report raw type DP data to zigbee module
- * @param[in] {dpid} dp id
- * @param[in] {value} Data contents of dp
- * @param[in] {len} length of Data contents
- * @return send result
- */
- unsigned char mcu_dp_raw_update(unsigned char dpid,const unsigned char value[],unsigned short len);
- /**
- * @brief report string type DP data to zigbee module
- * @param[in] {dpid} dp id
- * @param[in] {value} Data contents of dp
- * @param[in] {len} length of Data contents
- * @return send result
- */
- unsigned char mcu_dp_string_update(unsigned char dpid,const unsigned char value[],unsigned short len);
- /**
- * @brief report raw type DP data to zigbee module
- * @param[in] {dpid} dp id
- * @param[in] {value} Data contents of dp
- * @return send result
- */
- unsigned char mcu_dp_value_update(unsigned char dpid,unsigned long value);
- /**
- * @brief mcu get bool type value from zigbee translate
- * @param[in] {value} data of dp
- * @param[in] {len} Data length
- * @return true or false
- */
- unsigned char mcu_get_dp_download_bool(const unsigned char value[],unsigned short len);
- /**
- * @brief mcu get enum type value from zigbee translate
- * @param[in] {value} data of dp
- * @param[in] {len} Data length
- * @return enum data
- */
- unsigned char mcu_get_dp_download_enum(const unsigned char value[],unsigned short len);
- /**
- * @brief mcu get value type value from zigbee translate
- * @param[in] {value} data of dp
- * @param[in] {len} Data length
- * @return value data
- */
- unsigned long mcu_get_dp_download_value(const unsigned char value[],unsigned short len);
- /**
- * @brief mcu reset zigbee module
- * @param[in] {void}
- * @return void
- */
- void mcu_reset_zigbee(void);
- /**
- * @brief mcu start zigbee module
- * @param[in] {void}
- * @return void
- */
- void mcu_network_start(void);
- /**
- * @brief mcu start zigbee module test
- * @param[in] {channel} test channel usually 11
- * @return void
- */
- void mcu_start_zigbee_test(unsigned char channel);
- /**
- * @brief copy receive data from uart receive interrupt
- * @param[in] {value} Data received from interrupt
- * @return void
- */
- void uart_receive_input(unsigned char value);
- /**
- * @brief init paramter and set rx_buf with zero
- * @param[in] {void}
- * @return void
- */
- void zigbee_protocol_init(void);
- /**
- * @brief check rx buffer is empty or not
- * @param Null
- * @return the queue state
- */
- unsigned char with_data_rxbuff(void);
- /**
- * @brief read byte from zigbee_queue_buf array
- * @param[in] {void}
- * @return read byte value
- */
- unsigned char Queue_Read_Byte(void);
- /**
- * @brief uart receive data handle, call this function at mian loop
- * @param[in] {void}
- * @return void
- */
- void zigbee_uart_service(void);
- #ifdef __cplusplus
- }
- #endif
- #endif
|