mirror of
https://github.com/openshwprojects/OpenBK7231T_App.git
synced 2025-10-29 19:43:22 +00:00
simple IR2 driver for sending captures from flipper zero
* test * Update drv_ir2.c * fx * fx * fx * qq * test3 * tok * test duty * fx * hdr * fx * fx * tr * n header * tr * tr * fx * fx * test * tr tr * fx * simpler * fx * test * fx * dbg * tr * tr * fx * fx * fx * tr * fx * pin select * fx * fx * Update drv_ir2.c * Update drv_ir2.c * try * Update drv_ir2.c * Update drv_ir2.c * fx * Update drv_ir2.c * args len * http_fn_cmd_tool: len * better buffer handling * try lager buffer * clear * Update drv_ir2.c * long packet self tests * Update drv_ir2.c * Update drv_ir2.c * alternate alias * Queue size * fx * fx * disable * sample
This commit is contained in:
parent
f7dbf2a1be
commit
e1f8e59e13
7
lastEnumTemplate.txt
Normal file
7
lastEnumTemplate.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{ 17822728f value == '1' }
|
||||||
|
Ok
|
||||||
|
{ 2.121830e-304lif value == '0' }
|
||||||
|
Bad
|
||||||
|
{-9.255963e+61lse }
|
||||||
|
Unknown
|
||||||
|
{-9.255963e+61ndif }
|
||||||
@ -503,7 +503,20 @@ static commandResult_t CMD_CreateAliasForCommand(const void* context, const char
|
|||||||
}
|
}
|
||||||
|
|
||||||
alias = Tokenizer_GetArg(0);
|
alias = Tokenizer_GetArg(0);
|
||||||
|
#if 0
|
||||||
ocmd = Tokenizer_GetArgFrom(1);
|
ocmd = Tokenizer_GetArgFrom(1);
|
||||||
|
#else
|
||||||
|
while (*args && isWhiteSpace(*args)) {
|
||||||
|
args++;
|
||||||
|
}
|
||||||
|
while (*args && !isWhiteSpace(*args)) {
|
||||||
|
args++;
|
||||||
|
}
|
||||||
|
while (*args && isWhiteSpace(*args)) {
|
||||||
|
args++;
|
||||||
|
}
|
||||||
|
ocmd = args;
|
||||||
|
#endif
|
||||||
|
|
||||||
return CMD_CreateAliasHelper(alias, ocmd);
|
return CMD_CreateAliasHelper(alias, ocmd);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -245,8 +245,7 @@ typedef struct scriptInstance_s {
|
|||||||
struct scriptInstance_s *next;
|
struct scriptInstance_s *next;
|
||||||
} scriptInstance_t;
|
} scriptInstance_t;
|
||||||
|
|
||||||
#define MAX_SCRIPT_LINE 512
|
int g_scrBufferSize = 0;
|
||||||
|
|
||||||
char *g_scrBuffer = 0;
|
char *g_scrBuffer = 0;
|
||||||
int svm_deltaMS;
|
int svm_deltaMS;
|
||||||
scriptFile_t *g_scriptFiles = 0;
|
scriptFile_t *g_scriptFiles = 0;
|
||||||
@ -399,8 +398,12 @@ void SVM_RunThread(scriptInstance_t *t) {
|
|||||||
|
|
||||||
// skip empty lines and skip labels
|
// skip empty lines and skip labels
|
||||||
if(len > 0 && start[len-1] != ':') {
|
if(len > 0 && start[len-1] != ':') {
|
||||||
if(len >= MAX_SCRIPT_LINE) {
|
if(len >= g_scrBufferSize) {
|
||||||
len = MAX_SCRIPT_LINE-1;
|
g_scrBufferSize = len + 256;
|
||||||
|
g_scrBuffer = (char*)realloc(g_scrBuffer, g_scrBufferSize+1);
|
||||||
|
}
|
||||||
|
if (g_scrBuffer == NULL) {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
memcpy(g_scrBuffer,start,len);
|
memcpy(g_scrBuffer,start,len);
|
||||||
g_scrBuffer[len] = 0;
|
g_scrBuffer[len] = 0;
|
||||||
@ -426,7 +429,8 @@ void SVM_RunThreads(int deltaMS) {
|
|||||||
svm_deltaMS = deltaMS;
|
svm_deltaMS = deltaMS;
|
||||||
|
|
||||||
if(g_scrBuffer == 0) {
|
if(g_scrBuffer == 0) {
|
||||||
g_scrBuffer = malloc(MAX_SCRIPT_LINE);
|
g_scrBufferSize = 256;
|
||||||
|
g_scrBuffer = malloc(g_scrBufferSize + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_activeThread = g_scriptThreads;
|
g_activeThread = g_scriptThreads;
|
||||||
|
|||||||
339
src/driver/drv_ir2.c
Normal file
339
src/driver/drv_ir2.c
Normal file
@ -0,0 +1,339 @@
|
|||||||
|
|
||||||
|
#ifndef PLATFORM_BL602
|
||||||
|
|
||||||
|
#include "drv_local.h"
|
||||||
|
#include "../new_common.h"
|
||||||
|
|
||||||
|
#if PLATFORM_BEKEN
|
||||||
|
|
||||||
|
#include "include.h"
|
||||||
|
#include "arm_arch.h"
|
||||||
|
#include "../new_pins.h"
|
||||||
|
#include "../new_cfg.h"
|
||||||
|
#include "../logging/logging.h"
|
||||||
|
#include "../obk_config.h"
|
||||||
|
#include "../cmnds/cmd_public.h"
|
||||||
|
#include "bk_timer_pub.h"
|
||||||
|
#include "drv_model_pub.h"
|
||||||
|
|
||||||
|
#include <gpio_pub.h>
|
||||||
|
//#include "pwm.h"
|
||||||
|
#include "pwm_pub.h"
|
||||||
|
|
||||||
|
#include "../../beken378/func/include/net_param_pub.h"
|
||||||
|
#include "../../beken378/func/user_driver/BkDriverPwm.h"
|
||||||
|
#include "../../beken378/func/user_driver/BkDriverI2c.h"
|
||||||
|
#include "../../beken378/driver/i2c/i2c1.h"
|
||||||
|
#include "../../beken378/driver/gpio/gpio.h"
|
||||||
|
#include "../../beken378/driver/pwm/pwm.h"
|
||||||
|
#if PLATFORM_BK7231N
|
||||||
|
#include "../../beken378/driver/pwm/pwm_new.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define REG_PWM_BASE_ADDR (0x00802B00UL)
|
||||||
|
#define PWM_CHANNEL_NUMBER_ALL 6
|
||||||
|
#define PWM_CHANNEL_NUMBER_MAX (PWM_CHANNEL_NUMBER_ALL - 1)
|
||||||
|
#define PWM_CHANNEL_NUMBER_MIN 0
|
||||||
|
|
||||||
|
#define REG_PWM_GROUP_ADDR(x) (REG_PWM_BASE_ADDR + (0x40 * x))
|
||||||
|
|
||||||
|
#define REG_PWM_GROUP_CTRL_ADDR(x) (REG_PWM_GROUP_ADDR(x) + 0x00 * 4)
|
||||||
|
#define REG_PWM_CTRL_MASK 0xFFFFFFFFUL
|
||||||
|
#define REG_PWM_GROUP_CTRL(x) (*((volatile unsigned long *) REG_PWM_GROUP_CTRL_ADDR(x)))
|
||||||
|
|
||||||
|
#define PWM_GROUP_MODE_SET_BIT(x) (8*x)
|
||||||
|
|
||||||
|
#define PWM_GROUP_PWM_ENABLE_BIT(x) (8*x + 3)
|
||||||
|
#define PWM_GROUP_PWM_ENABLE_MASK(x) (1 <<PWM_GROUP_PWM_ENABLE_BIT(x))
|
||||||
|
|
||||||
|
#define PWM_GROUP_PWM_INT_ENABLE_BIT(x) (8*x + 4)
|
||||||
|
#define PWM_GROUP_PWM_STOP_BIT(x) (8*x + 5)
|
||||||
|
|
||||||
|
#define PWM_GROUP_PWM_INT_LEVL_BIT(x) (8*x + 6)
|
||||||
|
#define PWM_GROUP_PWM_INT_LEVL_MASK(x) (1<< PWM_GROUP_PWM_INT_LEVL_BIT(x))
|
||||||
|
|
||||||
|
#define PWM_GROUP_PWM_CFG_UPDATA_BIT(x) (8*x + 7)
|
||||||
|
#define PWM_GROUP_PWM_CFG_UPDATA_MASK(x) (1<< PWM_GROUP_PWM_CFG_UPDATA_BIT(x))
|
||||||
|
|
||||||
|
|
||||||
|
#define PWM_GROUP_PWM_PRE_DIV_BIT 16
|
||||||
|
#define PWM_GROUP_PWM_PRE_DIV_MASK (0xFF << 16)
|
||||||
|
|
||||||
|
#define PWM_GROUP_PWM_GROUP_MODE_BIT 24
|
||||||
|
#define PWM_GROUP_PWM_GROUP_MODE_MASK 1 << 24
|
||||||
|
|
||||||
|
#define PWM_GROUP_PWM_GROUP_MODE_ENABLE_BIT 25
|
||||||
|
#define PWM_GROUP_PWM_GROUP_MODE_ENABLE_MASK 1 << 25
|
||||||
|
|
||||||
|
#define PWM_GROUP_PWM_INT_STAT_BIT(x) (x + 30)
|
||||||
|
#define PWM_GROUP_PWM_INT_STAT_CLEAR(x) (1 << PWM_GROUP_PWM_INT_STAT_BIT(x))
|
||||||
|
#define PWM_GROUP_PWM_INT_STAT_MASK(x) (1 << PWM_GROUP_PWM_INT_STAT_BIT(x))
|
||||||
|
|
||||||
|
|
||||||
|
#define REG_GROUP_PWM0_T1_ADDR(x) (REG_PWM_GROUP_ADDR(x) + 0x01 * 4)
|
||||||
|
#define REG_GROUP_PWM0_T1(x) (*((volatile unsigned long *) REG_GROUP_PWM0_T1_ADDR(x) ))
|
||||||
|
|
||||||
|
#define REG_GROUP_PWM0_T2_ADDR(x) (REG_PWM_GROUP_ADDR(x) + 0x02 * 4)
|
||||||
|
#define REG_GROUP_PWM0_T2(x) (*((volatile unsigned long *) REG_GROUP_PWM0_T2_ADDR(x) ))
|
||||||
|
|
||||||
|
#define REG_GROUP_PWM0_T3_ADDR(x) (REG_PWM_GROUP_ADDR(x) + 0x03 * 4)
|
||||||
|
#define REG_GROUP_PWM0_T3(x) (*((volatile unsigned long *) REG_GROUP_PWM0_T3_ADDR(x) ))
|
||||||
|
|
||||||
|
#define REG_GROUP_PWM0_T4_ADDR(x) (REG_PWM_GROUP_ADDR(x) + 0x04 * 4)
|
||||||
|
#define REG_GROUP_PWM0_T4(x) (*((volatile unsigned long *) REG_GROUP_PWM0_T4_ADDR(x) ))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define REG_GROUP_PWM1_T1_ADDR(x) (REG_PWM_GROUP_ADDR(x) + 0x05 * 4)
|
||||||
|
#define REG_GROUP_PWM1_T1(x) (*((volatile unsigned long *) REG_GROUP_PWM1_T1_ADDR(x) ))
|
||||||
|
|
||||||
|
#define REG_GROUP_PWM1_T2_ADDR(x) (REG_PWM_GROUP_ADDR(x) + 0x06 * 4)
|
||||||
|
#define REG_GROUP_PWM1_T2(x) (*((volatile unsigned long *) REG_GROUP_PWM1_T2_ADDR(x) ))
|
||||||
|
|
||||||
|
#define REG_GROUP_PWM1_T3_ADDR(x) (REG_PWM_GROUP_ADDR(x) + 0x07 * 4)
|
||||||
|
#define REG_GROUP_PWM1_T3(x) (*((volatile unsigned long *) REG_GROUP_PWM1_T3_ADDR(x) ))
|
||||||
|
|
||||||
|
#define REG_GROUP_PWM1_T4_ADDR(x) (REG_PWM_GROUP_ADDR(x) + 0x08 * 4)
|
||||||
|
#define REG_GROUP_PWM1_T4(x) (*((volatile unsigned long *) REG_GROUP_PWM1_T4_ADDR(x) ))
|
||||||
|
|
||||||
|
|
||||||
|
#define REG_GROUP_PWM_CPU_ADDR(x) (REG_PWM_GROUP_ADDR(x) + 0x09 * 4)
|
||||||
|
#define REG_GROUP_PWM_CPU(x) (*((volatile unsigned long *) REG_GROUP_PWM_CPU_ADDR(x) ))
|
||||||
|
|
||||||
|
#define PWM_CPU_RD0 1 << 0
|
||||||
|
#define PWM_CPU_RD1 1 << 1
|
||||||
|
|
||||||
|
|
||||||
|
#define REG_GROUP_PWM0_RD_DATA_ADDR(x) (REG_PWM_GROUP_ADDR(x) + 0x0a * 4)
|
||||||
|
#define REG_GROUP_PWM0_RD_DATA_(x) (*((volatile unsigned long *) REG_GROUP_PWM0_RD_DATA_ADDR(x) ))
|
||||||
|
|
||||||
|
#define REG_GROUP_PWM1_RD_DATA_ADDR(x) (REG_PWM_GROUP_ADDR(x) + 0x0b * 4)
|
||||||
|
#define REG_GROUP_PWM1_RD_DATA_(x) (*((volatile unsigned long *) REG_GROUP_PWM1_RD_DATA_ADDR(x) ))
|
||||||
|
|
||||||
|
#define MY_SET_DUTY(duty) \
|
||||||
|
REG_WRITE(reg_duty, duty); \
|
||||||
|
UINT32 level; \
|
||||||
|
if (duty == 0) \
|
||||||
|
level = 0; \
|
||||||
|
else \
|
||||||
|
level = 1; \
|
||||||
|
UINT32 value = REG_READ(REG_PWM_GROUP_CTRL_ADDR(group)); \
|
||||||
|
value &= ~(PWM_GROUP_PWM_INT_LEVL_MASK(channel)); \
|
||||||
|
value |= PWM_GROUP_PWM_CFG_UPDATA_MASK(channel) \
|
||||||
|
| (level << PWM_GROUP_PWM_INT_LEVL_BIT(channel)); \
|
||||||
|
REG_WRITE(REG_PWM_GROUP_CTRL_ADDR(group), value); \
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define MY_SET_DUTY(duty) bk_pwm_update_param((bk_pwm_t)pwmIndex, period, duty);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#elif WINDOWS
|
||||||
|
void bk_gpio_output(int x, int y) {
|
||||||
|
|
||||||
|
}
|
||||||
|
void bk_gpio_config_output(int x) {
|
||||||
|
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
static UINT32 ir_chan
|
||||||
|
#ifndef WINDOWS
|
||||||
|
= BKTIMER0
|
||||||
|
#endif
|
||||||
|
;
|
||||||
|
|
||||||
|
static UINT32 ir_div = 1;
|
||||||
|
static UINT32 ir_periodus = 50;
|
||||||
|
static UINT32 duty_on, duty_off;
|
||||||
|
static UINT32 reg_duty;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int txpin = 26;
|
||||||
|
|
||||||
|
int times[512];
|
||||||
|
int maxTimes = 512;
|
||||||
|
int *cur;
|
||||||
|
int *stop;
|
||||||
|
int myPeriodUs = 50;
|
||||||
|
int curTime = 0;
|
||||||
|
int state = 0;
|
||||||
|
int pwmIndex = -1;
|
||||||
|
unsigned int period;
|
||||||
|
|
||||||
|
UINT8 group, channel;
|
||||||
|
|
||||||
|
void SendIR2_ISR(UINT8 t) {
|
||||||
|
if (cur == 0)
|
||||||
|
return;
|
||||||
|
curTime += myPeriodUs;
|
||||||
|
int tg = *cur;
|
||||||
|
if (tg <= curTime) {
|
||||||
|
curTime -= tg;
|
||||||
|
state = !state;
|
||||||
|
if (state == 0) {
|
||||||
|
MY_SET_DUTY(duty_off);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
MY_SET_DUTY(duty_on);
|
||||||
|
}
|
||||||
|
cur++;
|
||||||
|
if (cur == stop) {
|
||||||
|
// done
|
||||||
|
cur = 0;
|
||||||
|
|
||||||
|
MY_SET_DUTY(duty_off);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
// start the driver
|
||||||
|
startDriver IR2
|
||||||
|
// start timer 50us
|
||||||
|
// arguments: duty_on_fraction, duty_off_fraction, pin for sending (optional)
|
||||||
|
SetupIR2 50 0.5 0 8
|
||||||
|
// send data
|
||||||
|
SendIR2 3200 1300 950 500 900 1300 900 550 900 650 900
|
||||||
|
//
|
||||||
|
*/
|
||||||
|
static commandResult_t CMD_IR2_SendIR2(const void* context, const char* cmd, const char* args, int cmdFlags) {
|
||||||
|
float frequency = 38000;
|
||||||
|
float duty_cycle = 0.330000f;
|
||||||
|
stop = times;
|
||||||
|
|
||||||
|
ADDLOG_INFO(LOG_FEATURE_IR, "SendIR2 args len: %i", strlen(args));
|
||||||
|
|
||||||
|
// parse string like 10 12 432 432 432 432 432
|
||||||
|
*stop = 500; // prepend 500us zero
|
||||||
|
stop++;
|
||||||
|
while (*args) {
|
||||||
|
while (*args && isWhiteSpace(*args)) {
|
||||||
|
args++;
|
||||||
|
}
|
||||||
|
if (stop - times < maxTimes) {
|
||||||
|
int x = atoi(args);
|
||||||
|
*stop = x;
|
||||||
|
ADDLOG_INFO(LOG_FEATURE_IR, "Value: %i",x);
|
||||||
|
stop++;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
while (*args && !isWhiteSpace(*args)) {
|
||||||
|
args++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
state = 0;
|
||||||
|
ADDLOG_INFO(LOG_FEATURE_IR, "Queue size %i",(stop - times));
|
||||||
|
|
||||||
|
|
||||||
|
#if PLATFORM_BK7231N
|
||||||
|
bk_pwm_update_param((bk_pwm_t)pwmIndex, period, duty_off, 0, 0);
|
||||||
|
#else
|
||||||
|
bk_pwm_update_param((bk_pwm_t)pwmIndex, period, duty_off);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
cur = times;
|
||||||
|
#if WINDOWS
|
||||||
|
while (cur) {
|
||||||
|
SendIR2_ISR(0);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
return CMD_RES_OK;
|
||||||
|
}
|
||||||
|
static commandResult_t CMD_IR2_SetupIR2(const void* context, const char* cmd, const char* args, int cmdFlags) {
|
||||||
|
|
||||||
|
Tokenizer_TokenizeString(args, 0);
|
||||||
|
|
||||||
|
myPeriodUs = Tokenizer_GetArgIntegerDefault(0, 50);
|
||||||
|
float duty_on_frac = Tokenizer_GetArgFloatDefault(1, 0.5f);
|
||||||
|
float duty_off_frac = Tokenizer_GetArgFloatDefault(2, 0.0f);
|
||||||
|
|
||||||
|
txpin = Tokenizer_GetArgIntegerDefault(3, 26);
|
||||||
|
|
||||||
|
#if DEBUG_WAVE_WITH_GPIO
|
||||||
|
bk_gpio_config_output(txpin);
|
||||||
|
#else
|
||||||
|
pwmIndex = PIN_GetPWMIndexForPinIndex(txpin);
|
||||||
|
// is this pin capable of PWM?
|
||||||
|
if (pwmIndex != -1) {
|
||||||
|
#if PLATFORM_BK7231N
|
||||||
|
group = get_set_group(pwmIndex);
|
||||||
|
channel = get_set_channel(pwmIndex);
|
||||||
|
uint32_t pwmfrequency = 38000;
|
||||||
|
period = (26000000 / pwmfrequency);
|
||||||
|
duty_on = period * duty_on_frac;
|
||||||
|
duty_off = period * duty_off_frac;
|
||||||
|
if (channel == 0) {
|
||||||
|
reg_duty = REG_GROUP_PWM0_T1_ADDR(group);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
reg_duty = REG_GROUP_PWM1_T1_ADDR(group);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#ifndef WINDOWS
|
||||||
|
#if PLATFORM_BK7231N
|
||||||
|
// OSStatus bk_pwm_initialize(bk_pwm_t pwm, uint32_t frequency, uint32_t duty_cycle);
|
||||||
|
bk_pwm_initialize((bk_pwm_t)pwmIndex, period, period/2, 0, 0);
|
||||||
|
#else
|
||||||
|
bk_pwm_initialize((bk_pwm_t)pwmIndex, period, period / 2);
|
||||||
|
#endif
|
||||||
|
bk_pwm_start((bk_pwm_t)pwmIndex);
|
||||||
|
|
||||||
|
MY_SET_DUTY(duty_off);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef WINDOWS
|
||||||
|
timer_param_t params = {
|
||||||
|
(unsigned char)ir_chan,
|
||||||
|
(unsigned char)ir_div, // div
|
||||||
|
myPeriodUs, // us
|
||||||
|
SendIR2_ISR
|
||||||
|
};
|
||||||
|
//GLOBAL_INT_DECLARATION();
|
||||||
|
|
||||||
|
|
||||||
|
UINT32 res;
|
||||||
|
// test what error we get with an invalid command
|
||||||
|
res = sddev_control((char *)TIMER_DEV_NAME, -1, 0);
|
||||||
|
|
||||||
|
if (res == 1) {
|
||||||
|
ADDLOG_INFO(LOG_FEATURE_IR, (char *)"bk_timer already initialised");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ADDLOG_ERROR(LOG_FEATURE_IR, (char *)"bk_timer driver not initialised?");
|
||||||
|
if ((int)res == -5) {
|
||||||
|
ADDLOG_INFO(LOG_FEATURE_IR, (char *)"bk_timer sddev not found - not initialised?");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//ADDLOG_INFO(LOG_FEATURE_IR, (char *)"ir timer init");
|
||||||
|
// do not need to do this
|
||||||
|
//bk_timer_init();
|
||||||
|
//ADDLOG_INFO(LOG_FEATURE_IR, (char *)"ir timer init done");
|
||||||
|
ADDLOG_INFO(LOG_FEATURE_IR, (char *)"will ir timer setup %u", res);
|
||||||
|
res = sddev_control((char *)TIMER_DEV_NAME, CMD_TIMER_INIT_PARAM_US, ¶ms);
|
||||||
|
ADDLOG_INFO(LOG_FEATURE_IR, (char *)"ir timer setup %u", res);
|
||||||
|
res = sddev_control((char *)TIMER_DEV_NAME, CMD_TIMER_UNIT_ENABLE, &ir_chan);
|
||||||
|
ADDLOG_INFO(LOG_FEATURE_IR, (char *)"ir timer enabled %u", res);
|
||||||
|
#endif
|
||||||
|
return CMD_RES_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DRV_IR2_Init() {
|
||||||
|
CMD_RegisterCommand("SetupIR2", CMD_IR2_SetupIR2, NULL);
|
||||||
|
CMD_RegisterCommand("SendIR2", CMD_IR2_SendIR2, NULL);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
@ -70,6 +70,8 @@ void HT16K33_Init();
|
|||||||
|
|
||||||
void HD2015_Init();
|
void HD2015_Init();
|
||||||
|
|
||||||
|
void DRV_IR2_Init();
|
||||||
|
|
||||||
void DRV_ADCSmoother_Init();
|
void DRV_ADCSmoother_Init();
|
||||||
void DRV_ADCSmoother_RunFrame();
|
void DRV_ADCSmoother_RunFrame();
|
||||||
|
|
||||||
|
|||||||
@ -188,6 +188,10 @@ static driver_t g_drivers[] = {
|
|||||||
//drvdetail:"requires":""}
|
//drvdetail:"requires":""}
|
||||||
{ "IR", DRV_IR_Init, NULL, NULL, DRV_IR_RunFrame, NULL, NULL, false },
|
{ "IR", DRV_IR_Init, NULL, NULL, DRV_IR_RunFrame, NULL, NULL, false },
|
||||||
#endif
|
#endif
|
||||||
|
#if ENABLE_DRIVER_IR2
|
||||||
|
{ "IR2", DRV_IR2_Init, NULL, NULL, NULL, NULL, NULL, false },
|
||||||
|
#endif
|
||||||
|
|
||||||
#if ENABLE_DRIVER_DDP
|
#if ENABLE_DRIVER_DDP
|
||||||
//drvdetail:{"name":"DDP",
|
//drvdetail:{"name":"DDP",
|
||||||
//drvdetail:"title":"TODO",
|
//drvdetail:"title":"TODO",
|
||||||
|
|||||||
@ -1548,6 +1548,7 @@ int http_fn_cmd_tool(http_request_t* request) {
|
|||||||
poststr(request, "Remember that some commands are added after a restart when a driver is activated... <br>");
|
poststr(request, "Remember that some commands are added after a restart when a driver is activated... <br>");
|
||||||
|
|
||||||
commandLen = http_getArg(request->url, "cmd", tmpA, sizeof(tmpA));
|
commandLen = http_getArg(request->url, "cmd", tmpA, sizeof(tmpA));
|
||||||
|
addLogAdv(LOG_ERROR, LOG_FEATURE_HTTP, "http_fn_cmd_tool: len %i",commandLen);
|
||||||
if (commandLen) {
|
if (commandLen) {
|
||||||
poststr(request, "<br>");
|
poststr(request, "<br>");
|
||||||
// all log printfs made by command will be sent also to request
|
// all log printfs made by command will be sent also to request
|
||||||
|
|||||||
@ -91,7 +91,25 @@ static void tcp_client_thread(beken_thread_arg_t arg)
|
|||||||
request.received = buf;
|
request.received = buf;
|
||||||
request.receivedLenmax = INCOMING_BUFFER_SIZE - 2;
|
request.receivedLenmax = INCOMING_BUFFER_SIZE - 2;
|
||||||
request.responseCode = HTTP_RESPONSE_OK;
|
request.responseCode = HTTP_RESPONSE_OK;
|
||||||
request.receivedLen = recv(fd, request.received, request.receivedLenmax, 0);
|
request.receivedLen = 0;
|
||||||
|
while (1) {
|
||||||
|
int remaining = request.receivedLenmax - request.receivedLen;
|
||||||
|
int received = recv(fd, request.received + request.receivedLen, remaining, 0);
|
||||||
|
if (received <= 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
request.receivedLen += received;
|
||||||
|
if (received < remaining) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// grow by 1024
|
||||||
|
request.receivedLenmax += 1024;
|
||||||
|
request.received = (char*)realloc(request.received, request.receivedLenmax+2);
|
||||||
|
if (request.received == NULL) {
|
||||||
|
// no memory
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
request.received[request.receivedLen] = 0;
|
request.received[request.receivedLen] = 0;
|
||||||
|
|
||||||
request.reply = reply;
|
request.reply = reply;
|
||||||
|
|||||||
@ -72,6 +72,7 @@
|
|||||||
#define ENABLE_DRIVER_SSDP 1
|
#define ENABLE_DRIVER_SSDP 1
|
||||||
#define ENABLE_DRIVER_ADCBUTTON 1
|
#define ENABLE_DRIVER_ADCBUTTON 1
|
||||||
#define ENABLE_DRIVER_SM15155E 1
|
#define ENABLE_DRIVER_SM15155E 1
|
||||||
|
#define ENABLE_DRIVER_IR2 0
|
||||||
|
|
||||||
#elif PLATFORM_BL602
|
#elif PLATFORM_BL602
|
||||||
|
|
||||||
@ -139,6 +140,7 @@
|
|||||||
//#define ENABLE_DRIVER_BMPI2C 1
|
//#define ENABLE_DRIVER_BMPI2C 1
|
||||||
#define ENABLE_DRIVER_DDP 1
|
#define ENABLE_DRIVER_DDP 1
|
||||||
#define ENABLE_DRIVER_SSDP 1
|
#define ENABLE_DRIVER_SSDP 1
|
||||||
|
#define ENABLE_DRIVER_IR2 0
|
||||||
|
|
||||||
#elif PLATFORM_LN882H
|
#elif PLATFORM_LN882H
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,58 @@
|
|||||||
#include "selftest_local.h"
|
#include "selftest_local.h"
|
||||||
#include "../httpserver/new_http.h"
|
#include "../httpserver/new_http.h"
|
||||||
|
|
||||||
|
char g_loremIpsum[] = "Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum.";
|
||||||
|
char *g_savedArgs = 0;
|
||||||
|
char g_loremIpsum2[] = "Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum.";
|
||||||
|
|
||||||
|
|
||||||
|
char g_loremIpsum3[] = "Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum.""Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum.""Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum.""Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum.""Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum.""Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum.""Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum.""Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum."
|
||||||
|
"Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit,_sed_do_eiusmod_tempor_incididunt_ut_labore_et_dolore_magna_aliqua._Ut_enim_ad_minim_veniam,_quis_nostrud_exercitation_ullamco_laboris_nisi_ut_aliquip_ex_ea_commodo_consequat._Duis_aute_irure_dolor_in_reprehenderit_in_voluptate_velit_esse_cillum_dolore_eu_fugiat_nulla_pariatur._Excepteur_sint_occaecat_cupidatat_non_proident,_sunt_in_culpa_qui_officia_deserunt_mollit_anim_id_est_laborum.";
|
||||||
|
|
||||||
|
static commandResult_t CMD_SelfTest_SaveArgs(const void* context, const char* cmd, const char* args, int cmdFlags) {
|
||||||
|
|
||||||
|
if (g_savedArgs)
|
||||||
|
free(g_savedArgs);
|
||||||
|
g_savedArgs = strdup(args);
|
||||||
|
|
||||||
|
return CMD_RES_OK;
|
||||||
|
}
|
||||||
|
|
||||||
void Test_CFG_Via_HTTP() {
|
void Test_CFG_Via_HTTP() {
|
||||||
const char *mqtt_userName = "MyMQTTUser";
|
const char *mqtt_userName = "MyMQTTUser";
|
||||||
SIM_ClearOBK(0);
|
SIM_ClearOBK(0);
|
||||||
@ -47,6 +99,40 @@ void Test_CFG_Via_HTTP() {
|
|||||||
SELFTEST_ASSERT_JSON_VALUE_STRING(0, "SSID1", "newApName");
|
SELFTEST_ASSERT_JSON_VALUE_STRING(0, "SSID1", "newApName");
|
||||||
// causes assert
|
// causes assert
|
||||||
//SELFTEST_ASSERT_JSON_VALUE_STRING(0, "SSID1", "newAcName");
|
//SELFTEST_ASSERT_JSON_VALUE_STRING(0, "SSID1", "newAcName");
|
||||||
|
|
||||||
|
CMD_RegisterCommand("SimSaveArgs", CMD_SelfTest_SaveArgs, 0);
|
||||||
|
|
||||||
|
|
||||||
|
Test_FakeHTTPClientPacket_JSON("cm?cmnd=SimSaveArgs%20123");
|
||||||
|
SELFTEST_ASSERT_STRING(g_savedArgs,"123");
|
||||||
|
Test_FakeHTTPClientPacket_JSON_VA("cm?cmnd=SimSaveArgs%%20%s", g_loremIpsum);
|
||||||
|
printf("Lorem len: %i", strlen(g_savedArgs));
|
||||||
|
SELFTEST_ASSERT_STRING(g_savedArgs, g_loremIpsum);
|
||||||
|
Test_FakeHTTPClientPacket_JSON_VA("cm?cmnd=SimSaveArgs%%20%s", g_loremIpsum2);
|
||||||
|
printf("Lorem2 len: %i", strlen(g_savedArgs));
|
||||||
|
SELFTEST_ASSERT_STRING(g_savedArgs, g_loremIpsum2);
|
||||||
|
Test_FakeHTTPClientPacket_JSON_VA("cm?cmnd=SimSaveArgs%%20%s", g_loremIpsum3);
|
||||||
|
printf("Lorem3 len: %i", strlen(g_savedArgs));
|
||||||
|
SELFTEST_ASSERT_STRING(g_savedArgs, g_loremIpsum3);
|
||||||
|
|
||||||
|
CMD_ExecuteCommand("SimSaveArgs ok tester", 0);
|
||||||
|
SELFTEST_ASSERT_STRING(g_savedArgs, "ok tester");
|
||||||
|
SELFTEST_ASSERT(strlen(g_savedArgs) == strlen("ok tester"));
|
||||||
|
|
||||||
|
char tmp[8192 * 8];
|
||||||
|
sprintf(tmp, "alias lorem SimSaveArgs %s", g_loremIpsum);
|
||||||
|
CMD_ExecuteCommand(tmp, 0);
|
||||||
|
CMD_ExecuteCommand("lorem", 0);
|
||||||
|
SELFTEST_ASSERT_STRING(g_savedArgs, g_loremIpsum);
|
||||||
|
SELFTEST_ASSERT(strlen(g_savedArgs) == strlen(g_loremIpsum));
|
||||||
|
|
||||||
|
|
||||||
|
sprintf(tmp, "alias lorem3 SimSaveArgs %s", g_loremIpsum3);
|
||||||
|
CMD_ExecuteCommand(tmp,0);
|
||||||
|
CMD_ExecuteCommand("lorem3", 0);
|
||||||
|
SELFTEST_ASSERT(strlen(g_savedArgs) == strlen(g_loremIpsum3));
|
||||||
|
SELFTEST_ASSERT_STRING(g_savedArgs, g_loremIpsum3);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -117,6 +117,72 @@ void Test_Commands_Alias_Generic() {
|
|||||||
CMD_ExecuteCommand("test8", 0);
|
CMD_ExecuteCommand("test8", 0);
|
||||||
SELFTEST_ASSERT_CHANNEL(4, 11 + 10 * (9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 100));
|
SELFTEST_ASSERT_CHANNEL(4, 11 + 10 * (9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 100));
|
||||||
SELFTEST_ASSERT_CHANNEL(5, 50);
|
SELFTEST_ASSERT_CHANNEL(5, 50);
|
||||||
|
|
||||||
|
|
||||||
|
CMD_ExecuteCommand("alias test9 backlog setChannel 4 11; setChannel 5 50; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100;\
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100; \
|
||||||
|
addChannel 4 9; addChannel 4 8; addChannel 4 7; addChannel 4 6; \
|
||||||
|
addChannel 4 5; addChannel 4 4; addChannel 4 3; \
|
||||||
|
addChannel 4 2; addChannel 4 1; addChannel 4 100;", 0);
|
||||||
|
CMD_ExecuteCommand("test9", 0);
|
||||||
|
SELFTEST_ASSERT_CHANNEL(4, 11 + 20 * (9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 100));
|
||||||
|
SELFTEST_ASSERT_CHANNEL(5, 50);
|
||||||
// this check will fail obviously!
|
// this check will fail obviously!
|
||||||
//SELFTEST_ASSERT_CHANNEL(5, 666);
|
//SELFTEST_ASSERT_CHANNEL(5, 666);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -56,8 +56,8 @@ const char *Helper_GetPastHTTPHeader(const char *s) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char outbuf[8192];
|
static char outbuf[65536];
|
||||||
static char buffer[8192];
|
static char buffer[65536];
|
||||||
static const char *replyAt;
|
static const char *replyAt;
|
||||||
//static jsmntok_t tokens[256]; /* We expect no more than qq JSON tokens */
|
//static jsmntok_t tokens[256]; /* We expect no more than qq JSON tokens */
|
||||||
|
|
||||||
@ -119,6 +119,20 @@ void Test_GetJSONValue_Setup(const char *text) {
|
|||||||
g_json = cJSON_Parse(text);
|
g_json = cJSON_Parse(text);
|
||||||
g_sec_power = cJSON_GetObjectItemCaseSensitive(g_json, "POWER");
|
g_sec_power = cJSON_GetObjectItemCaseSensitive(g_json, "POWER");
|
||||||
}
|
}
|
||||||
|
void Test_FakeHTTPClientPacket_JSON_VA(const char *tg, ...) {
|
||||||
|
char bufferTemp[32768];
|
||||||
|
va_list argList;
|
||||||
|
|
||||||
|
va_start(argList, tg);
|
||||||
|
vsnprintf(bufferTemp, sizeof(bufferTemp), tg, argList);
|
||||||
|
va_end(argList);
|
||||||
|
int r;
|
||||||
|
Test_FakeHTTPClientPacket_GET(bufferTemp);
|
||||||
|
|
||||||
|
//jsmn_init(&parser);
|
||||||
|
//r = jsmn_parse(&parser, replyAt, strlen(replyAt), tokens, 256);
|
||||||
|
Test_GetJSONValue_Setup(replyAt);
|
||||||
|
}
|
||||||
void Test_FakeHTTPClientPacket_JSON(const char *tg) {
|
void Test_FakeHTTPClientPacket_JSON(const char *tg) {
|
||||||
/*char bufferTemp[8192];
|
/*char bufferTemp[8192];
|
||||||
va_list argList;
|
va_list argList;
|
||||||
|
|||||||
@ -139,7 +139,7 @@ void Test_GetJSONValue_Setup(const char *text);
|
|||||||
void Test_FakeHTTPClientPacket_GET(const char *tg);
|
void Test_FakeHTTPClientPacket_GET(const char *tg);
|
||||||
void Test_FakeHTTPClientPacket_POST(const char *tg, const char *data);
|
void Test_FakeHTTPClientPacket_POST(const char *tg, const char *data);
|
||||||
void Test_FakeHTTPClientPacket_POST_withJSONReply(const char *tg, const char *data);
|
void Test_FakeHTTPClientPacket_POST_withJSONReply(const char *tg, const char *data);
|
||||||
void Test_FakeHTTPClientPacket_JSON(const char *tg);
|
void Test_FakeHTTPClientPacket_JSON(const char *tg, ...);
|
||||||
const char *Test_GetLastHTMLReply();
|
const char *Test_GetLastHTMLReply();
|
||||||
|
|
||||||
// TODO: move elsewhere?
|
// TODO: move elsewhere?
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user