// Copyright 2011-2016 Espressif Systems (Shanghai) PTE LTD // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #ifndef _ROM_SSC_H_ #define _ROM_SSC_H_ #include "esp_types.h" #include "esp_attr.h" #ifdef __cplusplus extern "C" { #endif typedef struct cmd_s { char *cmd_str; #define CMD_T_ASYNC 0x01 #define CMD_T_SYNC 0x02 uint8_t flag; uint8_t id; void (* cmd_func)(void); void (* cmd_callback)(void *arg); } ssc_cmd_t; #define ssc_printf ets_printf #define SSC_CMD_N 10 //since the command not added in ssc_cmd.c #define MAX_LINE_N 40 #define PROMPT ":>" #define SSC_EVT_N 4 #define SSC_PRIO 30 enum { CMD_SET_SSID = 0, CMD_SCAN, CMD_CONNECT, CMD_DISCONNECT, CMD_SET_MACADDR, CMD_PING, CMD_PING_COUNT, CMD_PING_LENGTH, CMD_SET_IP, // CMD_RD_I2C, // CMD_SET_NULL, it's just for solving the old rom bug // CMD_SET_I2C, // CMD_RD_I2CM, // CMD_SET_I2CM, // CMD_SET_PBUS, // CMD_SET_TXTONE, // CMD_SET_STOPTONE, CMD_END, }; enum { SIG_SSC_RUNCMD, SIG_SSC_CMDDONE, SIG_SSC_RESTART, SIG_SSC_UART_RX_CHAR, }; void ssc_attach(void) ROMFN_ATTR; void ssc_cmd_done(int cmd_id, STATUS status) ROMFN_ATTR; int ssc_param_len(void) ROMFN_ATTR; char * ssc_param_str(void) ROMFN_ATTR; void ssc_register(ssc_cmd_t *cmdset, uint8_t cmdnum, void (* help)(void)) ROMFN_ATTR; extern ssc_cmd_t sscCmdSet[]; void ssc_help(void); #ifdef __cplusplus } #endif #endif /* _ROM_SSC_H_ */