mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-17 22:23:10 +03:00
Merge pull request #185 from ficeto/esp8266
missing libs and definitions from SDK
This commit is contained in:
1157
docs/rgisters_dump.txt
Normal file
1157
docs/rgisters_dump.txt
Normal file
File diff suppressed because it is too large
Load Diff
@ -132,7 +132,7 @@ static uint8_t esp8266_gpioToFn[16] = {0x34, 0x18, 0x38, 0x14, 0x3C, 0x40, 0x1C,
|
|||||||
#define T1I ESP8266_REG(0x60C) //Interrupt Status Register (1bit) write to clear
|
#define T1I ESP8266_REG(0x60C) //Interrupt Status Register (1bit) write to clear
|
||||||
//edge interrupt enable register
|
//edge interrupt enable register
|
||||||
#define TEIE ESP8266_DREG(0x04)
|
#define TEIE ESP8266_DREG(0x04)
|
||||||
#define TEIE1 0x02 //it for timer 1
|
#define TEIE1 0x02 //bit for timer 1
|
||||||
|
|
||||||
//Timer 2 Registers (32bit CountUp Timer)
|
//Timer 2 Registers (32bit CountUp Timer)
|
||||||
#define T2L ESP8266_REG(0x620) //Load Value (Starting Value of Counter)
|
#define T2L ESP8266_REG(0x620) //Load Value (Starting Value of Counter)
|
||||||
|
@ -76,7 +76,10 @@ typedef enum {
|
|||||||
#endif /* ICACHE_FLASH */
|
#endif /* ICACHE_FLASH */
|
||||||
|
|
||||||
#ifndef __cplusplus
|
#ifndef __cplusplus
|
||||||
|
typedef unsigned char bool;
|
||||||
#define BOOL bool
|
#define BOOL bool
|
||||||
|
#define true (1)
|
||||||
|
#define false (0)
|
||||||
#define TRUE true
|
#define TRUE true
|
||||||
#define FALSE false
|
#define FALSE false
|
||||||
|
|
||||||
|
@ -128,6 +128,7 @@ struct mdns_info {
|
|||||||
unsigned long ipAddr;
|
unsigned long ipAddr;
|
||||||
char *txt_data;
|
char *txt_data;
|
||||||
};
|
};
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* FunctionName : espconn_connect
|
* FunctionName : espconn_connect
|
||||||
* Description : The function given as the connect
|
* Description : The function given as the connect
|
||||||
@ -173,6 +174,19 @@ sint8 espconn_accept(struct espconn *espconn);
|
|||||||
|
|
||||||
sint8 espconn_create(struct espconn *espconn);
|
sint8 espconn_create(struct espconn *espconn);
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
* FunctionName : espconn_sent
|
||||||
|
* Description : sent data for client or server
|
||||||
|
* Parameters : espconn -- espconn to set for client or server
|
||||||
|
* psent -- data to send
|
||||||
|
* length -- length of data to send
|
||||||
|
* Returns : none
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
sint8 espconn_sent(struct espconn *espconn, uint8 *psent, uint16 length);
|
||||||
|
|
||||||
|
/***** Connetion Settings *******/
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* FunctionName : espconn_tcp_get_max_con
|
* FunctionName : espconn_tcp_get_max_con
|
||||||
* Description : get the number of simulatenously active TCP connections
|
* Description : get the number of simulatenously active TCP connections
|
||||||
@ -240,6 +254,63 @@ sint8 espconn_get_connection_info(struct espconn *pespconn, remot_info **pcon_in
|
|||||||
|
|
||||||
sint8 espconn_get_packet_info(struct espconn *espconn, struct espconn_packet* infoarg);
|
sint8 espconn_get_packet_info(struct espconn *espconn, struct espconn_packet* infoarg);
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
* FunctionName : espconn_port
|
||||||
|
* Description : access port value for client so that we don't end up bouncing
|
||||||
|
* all connections at the same time .
|
||||||
|
* Parameters : none
|
||||||
|
* Returns : access port value
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
uint32 espconn_port(void);
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
* FunctionName : espconn_set_opt
|
||||||
|
* Description : access port value for client so that we don't end up bouncing
|
||||||
|
* all connections at the same time .
|
||||||
|
* Parameters : espconn -- the espconn used to set the connection
|
||||||
|
* opt -- the option to set
|
||||||
|
* Returns : access port value
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
sint8 espconn_set_opt(struct espconn *espconn, uint8 opt);
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
* FunctionName : espconn_clear_opt
|
||||||
|
* Description : clear the option for connections so that we don't end up bouncing
|
||||||
|
* all connections at the same time .
|
||||||
|
* Parameters : espconn -- the espconn used to set the connection
|
||||||
|
* opt -- the option for clear
|
||||||
|
* Returns : the result
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
sint8 espconn_clear_opt(struct espconn *espconn, uint8 opt);
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
* FunctionName : espconn_set_keepalive
|
||||||
|
* Description : access level value for connection so that we set the value for
|
||||||
|
* keep alive
|
||||||
|
* Parameters : espconn -- the espconn used to set the connection
|
||||||
|
* level -- the connection's level
|
||||||
|
* value -- the value of time(s)
|
||||||
|
* Returns : access port value
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
sint8 espconn_set_keepalive(struct espconn *espconn, uint8 level, void* optarg);
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
* FunctionName : espconn_get_keepalive
|
||||||
|
* Description : access level value for connection so that we get the value for
|
||||||
|
* keep alive
|
||||||
|
* Parameters : espconn -- the espconn used to get the connection
|
||||||
|
* level -- the connection's level
|
||||||
|
* Returns : access keep alive value
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
sint8 espconn_get_keepalive(struct espconn *espconn, uint8 level, void *optarg);
|
||||||
|
|
||||||
|
/***** CALLBACKS *******/
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* FunctionName : espconn_regist_sentcb
|
* FunctionName : espconn_regist_sentcb
|
||||||
* Description : Used to specify the function that should be called when data
|
* Description : Used to specify the function that should be called when data
|
||||||
@ -253,9 +324,9 @@ sint8 espconn_get_packet_info(struct espconn *espconn, struct espconn_packet* in
|
|||||||
sint8 espconn_regist_sentcb(struct espconn *espconn, espconn_sent_callback sent_cb);
|
sint8 espconn_regist_sentcb(struct espconn *espconn, espconn_sent_callback sent_cb);
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* FunctionName : espconn_regist_sentcb
|
* FunctionName : espconn_regist_write_finish
|
||||||
* Description : Used to specify the function that should be called when data
|
* Description : Used to specify the function that should be called when data
|
||||||
* has been successfully delivered to the remote host.
|
* has been successfully written to the send buffer
|
||||||
* Parameters : espconn -- espconn to set the sent callback
|
* Parameters : espconn -- espconn to set the sent callback
|
||||||
* sent_cb -- sent callback function to call for this espconn
|
* sent_cb -- sent callback function to call for this espconn
|
||||||
* when data is successfully sent
|
* when data is successfully sent
|
||||||
@ -264,17 +335,6 @@ sint8 espconn_regist_sentcb(struct espconn *espconn, espconn_sent_callback sent_
|
|||||||
|
|
||||||
sint8 espconn_regist_write_finish(struct espconn *espconn, espconn_connect_callback write_finish_fn);
|
sint8 espconn_regist_write_finish(struct espconn *espconn, espconn_connect_callback write_finish_fn);
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* FunctionName : espconn_sent
|
|
||||||
* Description : sent data for client or server
|
|
||||||
* Parameters : espconn -- espconn to set for client or server
|
|
||||||
* psent -- data to send
|
|
||||||
* length -- length of data to send
|
|
||||||
* Returns : none
|
|
||||||
*******************************************************************************/
|
|
||||||
|
|
||||||
sint8 espconn_sent(struct espconn *espconn, uint8 *psent, uint16 length);
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* FunctionName : espconn_regist_connectcb
|
* FunctionName : espconn_regist_connectcb
|
||||||
* Description : used to specify the function that should be called when
|
* Description : used to specify the function that should be called when
|
||||||
@ -318,59 +378,7 @@ sint8 espconn_regist_reconcb(struct espconn *espconn, espconn_reconnect_callback
|
|||||||
|
|
||||||
sint8 espconn_regist_disconcb(struct espconn *espconn, espconn_connect_callback discon_cb);
|
sint8 espconn_regist_disconcb(struct espconn *espconn, espconn_connect_callback discon_cb);
|
||||||
|
|
||||||
/******************************************************************************
|
/***** DNS *******/
|
||||||
* FunctionName : espconn_port
|
|
||||||
* Description : access port value for client so that we don't end up bouncing
|
|
||||||
* all connections at the same time .
|
|
||||||
* Parameters : none
|
|
||||||
* Returns : access port value
|
|
||||||
*******************************************************************************/
|
|
||||||
|
|
||||||
uint32 espconn_port(void);
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* FunctionName : espconn_set_opt
|
|
||||||
* Description : access port value for client so that we don't end up bouncing
|
|
||||||
* all connections at the same time .
|
|
||||||
* Parameters : none
|
|
||||||
* Returns : access port value
|
|
||||||
*******************************************************************************/
|
|
||||||
|
|
||||||
sint8 espconn_set_opt(struct espconn *espconn, uint8 opt);
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* FunctionName : espconn_clear_opt
|
|
||||||
* Description : clear the option for connections so that we don't end up bouncing
|
|
||||||
* all connections at the same time .
|
|
||||||
* Parameters : espconn -- the espconn used to set the connection
|
|
||||||
* opt -- the option for clear
|
|
||||||
* Returns : the result
|
|
||||||
*******************************************************************************/
|
|
||||||
|
|
||||||
sint8 espconn_clear_opt(struct espconn *espconn, uint8 opt);
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* FunctionName : espconn_set_keepalive
|
|
||||||
* Description : access level value for connection so that we set the value for
|
|
||||||
* keep alive
|
|
||||||
* Parameters : espconn -- the espconn used to set the connection
|
|
||||||
* level -- the connection's level
|
|
||||||
* value -- the value of time(s)
|
|
||||||
* Returns : access port value
|
|
||||||
*******************************************************************************/
|
|
||||||
|
|
||||||
sint8 espconn_set_keepalive(struct espconn *espconn, uint8 level, void* optarg);
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* FunctionName : espconn_get_keepalive
|
|
||||||
* Description : access level value for connection so that we get the value for
|
|
||||||
* keep alive
|
|
||||||
* Parameters : espconn -- the espconn used to get the connection
|
|
||||||
* level -- the connection's level
|
|
||||||
* Returns : access keep alive value
|
|
||||||
*******************************************************************************/
|
|
||||||
|
|
||||||
sint8 espconn_get_keepalive(struct espconn *espconn, uint8 level, void *optarg);
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* TypedefName : dns_found_callback
|
* TypedefName : dns_found_callback
|
||||||
@ -405,6 +413,8 @@ typedef void (*dns_found_callback)(const char *name, ip_addr_t *ipaddr, void *ca
|
|||||||
|
|
||||||
err_t espconn_gethostbyname(struct espconn *pespconn, const char *hostname, ip_addr_t *addr, dns_found_callback found);
|
err_t espconn_gethostbyname(struct espconn *pespconn, const char *hostname, ip_addr_t *addr, dns_found_callback found);
|
||||||
|
|
||||||
|
/***** SSL *******/
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* FunctionName : espconn_encry_connect
|
* FunctionName : espconn_encry_connect
|
||||||
* Description : The function given as connection
|
* Description : The function given as connection
|
||||||
@ -464,6 +474,26 @@ sint16 espconn_secure_get_size(uint8 level);
|
|||||||
|
|
||||||
sint8 espconn_secure_accept(struct espconn *espconn);
|
sint8 espconn_secure_accept(struct espconn *espconn);
|
||||||
|
|
||||||
|
/***** TCP RX HOLD *******/
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
* FunctionName : espconn_recv_hold
|
||||||
|
* Description : hold tcp receive
|
||||||
|
* Parameters : espconn -- espconn to hold
|
||||||
|
* Returns : none
|
||||||
|
*******************************************************************************/
|
||||||
|
sint8 espconn_recv_hold(struct espconn *pespconn);
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
* FunctionName : espconn_recv_unhold
|
||||||
|
* Description : unhold tcp receive
|
||||||
|
* Parameters : espconn -- espconn to unhold
|
||||||
|
* Returns : none
|
||||||
|
*******************************************************************************/
|
||||||
|
sint8 espconn_recv_unhold(struct espconn *pespconn);
|
||||||
|
|
||||||
|
/***** IGMP *******/
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* FunctionName : espconn_igmp_join
|
* FunctionName : espconn_igmp_join
|
||||||
* Description : join a multicast group
|
* Description : join a multicast group
|
||||||
@ -482,21 +512,7 @@ sint8 espconn_igmp_join(ip_addr_t *host_ip, ip_addr_t *multicast_ip);
|
|||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
sint8 espconn_igmp_leave(ip_addr_t *host_ip, ip_addr_t *multicast_ip);
|
sint8 espconn_igmp_leave(ip_addr_t *host_ip, ip_addr_t *multicast_ip);
|
||||||
|
|
||||||
/******************************************************************************
|
/***** mDNS *******/
|
||||||
* FunctionName : espconn_recv_hold
|
|
||||||
* Description : hold tcp receive
|
|
||||||
* Parameters : espconn -- espconn to hold
|
|
||||||
* Returns : none
|
|
||||||
*******************************************************************************/
|
|
||||||
sint8 espconn_recv_hold(struct espconn *pespconn);
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* FunctionName : espconn_recv_unhold
|
|
||||||
* Description : unhold tcp receive
|
|
||||||
* Parameters : espconn -- espconn to unhold
|
|
||||||
* Returns : none
|
|
||||||
*******************************************************************************/
|
|
||||||
sint8 espconn_recv_unhold(struct espconn *pespconn);
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* FunctionName : espconn_mdns_init
|
* FunctionName : espconn_mdns_init
|
||||||
|
70
hardware/tools/esp8266/sdk/include/json/json.h
Executable file
70
hardware/tools/esp8266/sdk/include/json/json.h
Executable file
@ -0,0 +1,70 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2011-2012, Swedish Institute of Computer Science.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* 3. Neither the name of the Institute nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
* SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* This file is part of the Contiki operating system.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* A few JSON defines used for parsing and generating JSON.
|
||||||
|
* \author
|
||||||
|
* Niclas Finne <nfi@sics.se>
|
||||||
|
* Joakim Eriksson <joakime@sics.se>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __JSON_H__
|
||||||
|
#define __JSON_H__
|
||||||
|
|
||||||
|
#define JSON_TYPE_ARRAY '['
|
||||||
|
#define JSON_TYPE_OBJECT '{'
|
||||||
|
#define JSON_TYPE_PAIR ':'
|
||||||
|
#define JSON_TYPE_PAIR_NAME 'N' /* for N:V pairs */
|
||||||
|
#define JSON_TYPE_STRING '"'
|
||||||
|
#define JSON_TYPE_INT 'I'
|
||||||
|
#define JSON_TYPE_NUMBER '0'
|
||||||
|
#define JSON_TYPE_ERROR 0
|
||||||
|
|
||||||
|
/* how should we handle null vs false - both can be 0? */
|
||||||
|
#define JSON_TYPE_NULL 'n'
|
||||||
|
#define JSON_TYPE_TRUE 't'
|
||||||
|
#define JSON_TYPE_FALSE 'f'
|
||||||
|
|
||||||
|
#define JSON_TYPE_CALLBACK 'C'
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JSON_ERROR_OK,
|
||||||
|
JSON_ERROR_SYNTAX,
|
||||||
|
JSON_ERROR_UNEXPECTED_ARRAY,
|
||||||
|
JSON_ERROR_UNEXPECTED_END_OF_ARRAY,
|
||||||
|
JSON_ERROR_UNEXPECTED_OBJECT,
|
||||||
|
JSON_ERROR_UNEXPECTED_STRING
|
||||||
|
};
|
||||||
|
|
||||||
|
#define JSON_CONTENT_TYPE "application/json"
|
||||||
|
|
||||||
|
#endif /* __JSON_H__ */
|
94
hardware/tools/esp8266/sdk/include/json/jsonparse.h
Executable file
94
hardware/tools/esp8266/sdk/include/json/jsonparse.h
Executable file
@ -0,0 +1,94 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2011-2012, Swedish Institute of Computer Science.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* 3. Neither the name of the Institute nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
* SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* This file is part of the Contiki operating system.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __JSONPARSE_H__
|
||||||
|
#define __JSONPARSE_H__
|
||||||
|
|
||||||
|
#include "c_types.h"
|
||||||
|
#include "json/json.h"
|
||||||
|
|
||||||
|
#ifdef JSONPARSE_CONF_MAX_DEPTH
|
||||||
|
#define JSONPARSE_MAX_DEPTH JSONPARSE_CONF_MAX_DEPTH
|
||||||
|
#else
|
||||||
|
#define JSONPARSE_MAX_DEPTH 10
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct jsonparse_state {
|
||||||
|
const char *json;
|
||||||
|
int pos;
|
||||||
|
int len;
|
||||||
|
int depth;
|
||||||
|
/* for handling atomic values */
|
||||||
|
int vstart;
|
||||||
|
int vlen;
|
||||||
|
char vtype;
|
||||||
|
char error;
|
||||||
|
char stack[JSONPARSE_MAX_DEPTH];
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Initialize a JSON parser state.
|
||||||
|
* \param state A pointer to a JSON parser state
|
||||||
|
* \param json The string to parse as JSON
|
||||||
|
* \param len The length of the string to parse
|
||||||
|
*
|
||||||
|
* This function initializes a JSON parser state for
|
||||||
|
* parsing a string as JSON.
|
||||||
|
*/
|
||||||
|
void jsonparse_setup(struct jsonparse_state *state, const char *json,
|
||||||
|
int len);
|
||||||
|
|
||||||
|
/* move to next JSON element */
|
||||||
|
int jsonparse_next(struct jsonparse_state *state);
|
||||||
|
|
||||||
|
/* copy the current JSON value into the specified buffer */
|
||||||
|
int jsonparse_copy_value(struct jsonparse_state *state, char *buf,
|
||||||
|
int buf_size);
|
||||||
|
|
||||||
|
/* get the current JSON value parsed as an int */
|
||||||
|
int jsonparse_get_value_as_int(struct jsonparse_state *state);
|
||||||
|
|
||||||
|
/* get the current JSON value parsed as a long */
|
||||||
|
long jsonparse_get_value_as_long(struct jsonparse_state *state);
|
||||||
|
|
||||||
|
/* get the current JSON value parsed as a unsigned long */
|
||||||
|
unsigned long jsonparse_get_value_as_ulong(struct jsonparse_state *state);
|
||||||
|
|
||||||
|
/* get the length of the current JSON value */
|
||||||
|
int jsonparse_get_len(struct jsonparse_state *state);
|
||||||
|
|
||||||
|
/* get the type of the current JSON value */
|
||||||
|
int jsonparse_get_type(struct jsonparse_state *state);
|
||||||
|
|
||||||
|
/* compare the JSON value with the specified string */
|
||||||
|
int jsonparse_strcmp_value(struct jsonparse_state *state, const char *str);
|
||||||
|
|
||||||
|
#endif /* __JSONPARSE_H__ */
|
145
hardware/tools/esp8266/sdk/include/json/jsontree.h
Executable file
145
hardware/tools/esp8266/sdk/include/json/jsontree.h
Executable file
@ -0,0 +1,145 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2011-2012, Swedish Institute of Computer Science.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* 3. Neither the name of the Institute nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
* SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* This file is part of the Contiki operating system.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* JSON output generation
|
||||||
|
* \author
|
||||||
|
* Niclas Finne <nfi@sics.se>
|
||||||
|
* Joakim Eriksson <joakime@sics.se>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __JSONTREE_H__
|
||||||
|
#define __JSONTREE_H__
|
||||||
|
|
||||||
|
#include "c_types.h"
|
||||||
|
#include "json/json.h"
|
||||||
|
|
||||||
|
#ifdef JSONTREE_CONF_MAX_DEPTH
|
||||||
|
#define JSONTREE_MAX_DEPTH JSONTREE_CONF_MAX_DEPTH
|
||||||
|
#else
|
||||||
|
#define JSONTREE_MAX_DEPTH 10
|
||||||
|
#endif /* JSONTREE_CONF_MAX_DEPTH */
|
||||||
|
|
||||||
|
struct jsontree_context {
|
||||||
|
struct jsontree_value *values[JSONTREE_MAX_DEPTH];
|
||||||
|
uint16_t index[JSONTREE_MAX_DEPTH];
|
||||||
|
int (* putchar)(int);
|
||||||
|
uint8_t depth;
|
||||||
|
uint8_t path;
|
||||||
|
int callback_state;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct jsontree_value {
|
||||||
|
uint8_t type;
|
||||||
|
/* followed by a value */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct jsontree_string {
|
||||||
|
uint8_t type;
|
||||||
|
const char *value;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct jsontree_int {
|
||||||
|
uint8_t type;
|
||||||
|
int value;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* NOTE: the jsontree_callback set will receive a jsonparse state */
|
||||||
|
struct jsonparse_state;
|
||||||
|
struct jsontree_callback {
|
||||||
|
uint8_t type;
|
||||||
|
int (* output)(struct jsontree_context *js_ctx);
|
||||||
|
int (* set)(struct jsontree_context *js_ctx, struct jsonparse_state *parser);
|
||||||
|
};
|
||||||
|
|
||||||
|
struct jsontree_pair {
|
||||||
|
const char *name;
|
||||||
|
struct jsontree_value *value;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct jsontree_object {
|
||||||
|
uint8_t type;
|
||||||
|
uint8_t count;
|
||||||
|
struct jsontree_pair *pairs;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct jsontree_array {
|
||||||
|
uint8_t type;
|
||||||
|
uint8_t count;
|
||||||
|
struct jsontree_value **values;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define JSONTREE_STRING(text) {JSON_TYPE_STRING, (text)}
|
||||||
|
#define JSONTREE_PAIR(name, value) {(name), (struct jsontree_value *)(value)}
|
||||||
|
#define JSONTREE_CALLBACK(output, set) {JSON_TYPE_CALLBACK, (output), (set)}
|
||||||
|
|
||||||
|
#define JSONTREE_OBJECT(name, ...) \
|
||||||
|
static struct jsontree_pair jsontree_pair_##name[] = {__VA_ARGS__}; \
|
||||||
|
static struct jsontree_object name = { \
|
||||||
|
JSON_TYPE_OBJECT, \
|
||||||
|
sizeof(jsontree_pair_##name)/sizeof(struct jsontree_pair), \
|
||||||
|
jsontree_pair_##name }
|
||||||
|
|
||||||
|
#define JSONTREE_PAIR_ARRAY(value) (struct jsontree_value *)(value)
|
||||||
|
#define JSONTREE_ARRAY(name, ...) \
|
||||||
|
static struct jsontree_value* jsontree_value_##name[] = {__VA_ARGS__}; \
|
||||||
|
static struct jsontree_array name = { \
|
||||||
|
JSON_TYPE_ARRAY, \
|
||||||
|
sizeof(jsontree_value_##name)/sizeof(struct jsontree_value*), \
|
||||||
|
jsontree_value_##name }
|
||||||
|
|
||||||
|
#define JSONTREE_OBJECT_EXT(name, ...) \
|
||||||
|
static struct jsontree_pair jsontree_pair_##name[] = {__VA_ARGS__}; \
|
||||||
|
struct jsontree_object name = { \
|
||||||
|
JSON_TYPE_OBJECT, \
|
||||||
|
sizeof(jsontree_pair_##name)/sizeof(struct jsontree_pair), \
|
||||||
|
jsontree_pair_##name }
|
||||||
|
|
||||||
|
void jsontree_setup(struct jsontree_context *js_ctx,
|
||||||
|
struct jsontree_value *root, int (* putchar)(int));
|
||||||
|
void jsontree_reset(struct jsontree_context *js_ctx);
|
||||||
|
|
||||||
|
const char *jsontree_path_name(const struct jsontree_context *js_ctx,
|
||||||
|
int depth);
|
||||||
|
|
||||||
|
void jsontree_write_int(const struct jsontree_context *js_ctx, int value);
|
||||||
|
void jsontree_write_int_array(const struct jsontree_context *js_ctx, const int *text, uint32 length);
|
||||||
|
|
||||||
|
void jsontree_write_atom(const struct jsontree_context *js_ctx,
|
||||||
|
const char *text);
|
||||||
|
void jsontree_write_string(const struct jsontree_context *js_ctx,
|
||||||
|
const char *text);
|
||||||
|
int jsontree_print_next(struct jsontree_context *js_ctx);
|
||||||
|
struct jsontree_value *jsontree_find_next(struct jsontree_context *js_ctx,
|
||||||
|
int type);
|
||||||
|
|
||||||
|
#endif /* __JSONTREE_H__ */
|
60
hardware/tools/esp8266/sdk/include/sntp.h
Executable file
60
hardware/tools/esp8266/sdk/include/sntp.h
Executable file
@ -0,0 +1,60 @@
|
|||||||
|
#ifndef __SNTP_H__
|
||||||
|
#define __SNTP_H__
|
||||||
|
|
||||||
|
#include "os_type.h"
|
||||||
|
#ifdef LWIP_OPEN_SRC
|
||||||
|
#include "lwip/ip_addr.h"
|
||||||
|
#else
|
||||||
|
#include "ip_addr.h"
|
||||||
|
#endif
|
||||||
|
/**
|
||||||
|
* get the seconds since Jan 01, 1970, 00:00 (GMT)
|
||||||
|
*/
|
||||||
|
uint32 sntp_get_current_timestamp();
|
||||||
|
/**
|
||||||
|
* get real time (GTM + 8 time zone)
|
||||||
|
*/
|
||||||
|
char* sntp_get_real_time(long t);
|
||||||
|
/**
|
||||||
|
* Initialize this module.
|
||||||
|
* Send out request instantly or after SNTP_STARTUP_DELAY(_FUNC).
|
||||||
|
*/
|
||||||
|
void sntp_init(void);
|
||||||
|
/**
|
||||||
|
* Stop this module.
|
||||||
|
*/
|
||||||
|
void sntp_stop(void);
|
||||||
|
/**
|
||||||
|
* Initialize one of the NTP servers by IP address
|
||||||
|
*
|
||||||
|
* @param numdns the index of the NTP server to set must be < SNTP_MAX_SERVERS
|
||||||
|
* @param dnsserver IP address of the NTP server to set
|
||||||
|
*/
|
||||||
|
void sntp_setserver(unsigned char idx, ip_addr_t *addr);
|
||||||
|
/**
|
||||||
|
* Obtain one of the currently configured by IP address (or DHCP) NTP servers
|
||||||
|
*
|
||||||
|
* @param numdns the index of the NTP server
|
||||||
|
* @return IP address of the indexed NTP server or "ip_addr_any" if the NTP
|
||||||
|
* server has not been configured by address (or at all).
|
||||||
|
*/
|
||||||
|
ip_addr_t sntp_getserver(unsigned char idx);
|
||||||
|
/**
|
||||||
|
* Initialize one of the NTP servers by name
|
||||||
|
*
|
||||||
|
* @param numdns the index of the NTP server to set must be < SNTP_MAX_SERVERS,now sdk support SNTP_MAX_SERVERS = 3
|
||||||
|
* @param dnsserver DNS name of the NTP server to set, to be resolved at contact time
|
||||||
|
*/
|
||||||
|
void sntp_setservername(unsigned char idx, char *server);
|
||||||
|
/**
|
||||||
|
* Obtain one of the currently configured by name NTP servers.
|
||||||
|
*
|
||||||
|
* @param numdns the index of the NTP server
|
||||||
|
* @return IP address of the indexed NTP server or NULL if the NTP
|
||||||
|
* server has not been configured by name (or at all)
|
||||||
|
*/
|
||||||
|
char *sntp_getservername(unsigned char idx);
|
||||||
|
|
||||||
|
#define sntp_servermode_dhcp(x)
|
||||||
|
|
||||||
|
#endif
|
51
hardware/tools/esp8266/sdk/include/upgrade.h
Executable file
51
hardware/tools/esp8266/sdk/include/upgrade.h
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
#ifndef __UPGRADE_H__
|
||||||
|
#define __UPGRADE_H__
|
||||||
|
|
||||||
|
#define SPI_FLASH_SEC_SIZE 4096
|
||||||
|
|
||||||
|
#define USER_BIN1 0x00
|
||||||
|
#define USER_BIN2 0x01
|
||||||
|
|
||||||
|
#define UPGRADE_FLAG_IDLE 0x00
|
||||||
|
#define UPGRADE_FLAG_START 0x01
|
||||||
|
#define UPGRADE_FLAG_FINISH 0x02
|
||||||
|
|
||||||
|
#define UPGRADE_FW_BIN1 0x00
|
||||||
|
#define UPGRADE_FW_BIN2 0x01
|
||||||
|
|
||||||
|
typedef void (*upgrade_states_check_callback)(void * arg);
|
||||||
|
|
||||||
|
//#define UPGRADE_SSL_ENABLE
|
||||||
|
|
||||||
|
struct upgrade_server_info {
|
||||||
|
uint8 ip[4];
|
||||||
|
uint16 port;
|
||||||
|
|
||||||
|
uint8 upgrade_flag;
|
||||||
|
|
||||||
|
uint8 pre_version[16];
|
||||||
|
uint8 upgrade_version[16];
|
||||||
|
|
||||||
|
uint32 check_times;
|
||||||
|
uint8 *url;
|
||||||
|
|
||||||
|
upgrade_states_check_callback check_cb;
|
||||||
|
struct espconn *pespconn;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define UPGRADE_FLAG_IDLE 0x00
|
||||||
|
#define UPGRADE_FLAG_START 0x01
|
||||||
|
#define UPGRADE_FLAG_FINISH 0x02
|
||||||
|
|
||||||
|
//bool system_upgrade_start(struct upgrade_server_info *server);
|
||||||
|
bool system_upgrade_start_ssl(struct upgrade_server_info *server);
|
||||||
|
void system_upgrade_init();
|
||||||
|
void system_upgrade_deinit();
|
||||||
|
bool system_upgrade(uint8 *data, uint16 len);
|
||||||
|
|
||||||
|
#ifdef UPGRADE_SSL_ENABLE
|
||||||
|
bool system_upgrade_start_ssl(struct upgrade_server_info *server);
|
||||||
|
#else
|
||||||
|
bool system_upgrade_start(struct upgrade_server_info *server);
|
||||||
|
#endif
|
||||||
|
#endif
|
BIN
hardware/tools/esp8266/sdk/lib/libjson.a
Executable file
BIN
hardware/tools/esp8266/sdk/lib/libjson.a
Executable file
Binary file not shown.
BIN
hardware/tools/esp8266/sdk/lib/libssc.a
Executable file
BIN
hardware/tools/esp8266/sdk/lib/libssc.a
Executable file
Binary file not shown.
BIN
hardware/tools/esp8266/sdk/lib/libupgrade.a
Executable file
BIN
hardware/tools/esp8266/sdk/lib/libupgrade.a
Executable file
Binary file not shown.
Reference in New Issue
Block a user