#include "led.h" #include "led_object.h" #include "stdint.h" #include "stdio.h" #include "stdlib.h" #include "pando_object.h" #include "sub_device_protocol.h" #include "usart.h" typedef struct { BOOL status; }led; void led_init(void) { LED_Init(); } led* create_led() { led* led_str = (led*)malloc(sizeof(led)); return led_str; } void led_set(led * value) { SIM7600_led = value->status; } void led_get(led * value) { value->status = 0; } void delete_led(led* led) { if(led!=NULL) { free(led); } } void led_object_pack(PARAMS * params) { if(NULL==params) { PRINTF("create first tlv param failed\r\n"); return; } led* led = create_led(); led_get(led); if(add_next_bool(params, led->status)) { PRINTF("add next tlv failed\r\n"); return; } delete_led(led); } void led_object_unpack(PARAMS * params) { led * led = create_led(); led->status = get_next_bool(params); led_set(led); delete_led(led); } void led_object_init(void) { led_init(); pando_object led_object = { 1, led_object_pack, led_object_unpack, }; register_pando_object(led_object); }