Kaynağa Gözat

update:airtalk加一些状态回调

alienwalker 1 ay önce
ebeveyn
işleme
5eb687964e

+ 4 - 1
components/airtalk/core/airtalk_network.c

@@ -317,18 +317,21 @@ TX_DATA_DONE:
 			luat_mutex_unlock(prv_network.record_cache_locker);
 			luat_start_rtos_timer(prv_network.download_check_timer, prv_network.download_no_data_time, 1);
 			prv_network.new_data_flag = 0;
+			luat_airtalk_callback(LUAT_AIRTALK_CB_DATA_START, NULL, 0);
 			break;
 		case AIRTALK_EVENT_NETWORK_FORCE_SYNC:
 			LUAT_DEBUG_PRINT("sync lost resync!");
 			sync_lost = 1;
+			luat_airtalk_callback(LUAT_AIRTALK_CB_DATA_RESYNC, NULL, 0);
 			break;
 		case AIRTALK_EVENT_NETWORK_FORCE_STOP:
 			if (prv_network.is_ready)
 			{
-				sync_lost = 1;
 				prv_network.is_ready = 0;
 				airtalk_full_stop();
 			}
+			sync_lost = 1;
+			luat_airtalk_callback(LUAT_AIRTALK_CB_DATA_STOP, NULL, 0);
 			break;
 		case AIRTALK_EVENT_NETWORK_MSG:
 			break;

+ 3 - 1
components/airtalk/include/luat_airtalk.h

@@ -25,7 +25,9 @@ enum
 	LUAT_AIRTALK_CB_AUDIO_START,
 	LUAT_AIRTALK_CB_AUDIO_END,
 	LUAT_AIRTALK_CB_ERROR,
-
+	LUAT_AIRTALK_CB_DATA_START,
+	LUAT_AIRTALK_CB_DATA_STOP,
+	LUAT_AIRTALK_CB_DATA_RESYNC,
 	LUAT_AIRTALL_ERR_LONG_TIME_NO_DATA = 0,
 };
 void luat_airtalk_callback(uint32_t event, void *param, uint32_t param_len);

+ 2 - 0
luat/include/luat_usb.h

@@ -40,4 +40,6 @@ int luat_usb_set_callback(int id, usb_callback_t callback);
 int luat_usb_tx(int id, uint8_t class, const void *data, uint32_t len);
 int luat_usb_hid_tx(int id, const char *string, uint32_t len);
 int luat_usb_rx(int id, uint8_t class, void *data, uint32_t len);
+
+int luat_usb_power_on_off(int id, uint8_t on_off);
 #endif