mirror of
https://github.com/openshwprojects/OpenBK7231T_App.git
synced 2025-10-29 11:33:20 +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);
|
||||
#if 0
|
||||
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);
|
||||
}
|
||||
|
||||
@ -245,8 +245,7 @@ typedef struct scriptInstance_s {
|
||||
struct scriptInstance_s *next;
|
||||
} scriptInstance_t;
|
||||
|
||||
#define MAX_SCRIPT_LINE 512
|
||||
|
||||
int g_scrBufferSize = 0;
|
||||
char *g_scrBuffer = 0;
|
||||
int svm_deltaMS;
|
||||
scriptFile_t *g_scriptFiles = 0;
|
||||
@ -399,8 +398,12 @@ void SVM_RunThread(scriptInstance_t *t) {
|
||||
|
||||
// skip empty lines and skip labels
|
||||
if(len > 0 && start[len-1] != ':') {
|
||||
if(len >= MAX_SCRIPT_LINE) {
|
||||
len = MAX_SCRIPT_LINE-1;
|
||||
if(len >= g_scrBufferSize) {
|
||||
g_scrBufferSize = len + 256;
|
||||
g_scrBuffer = (char*)realloc(g_scrBuffer, g_scrBufferSize+1);
|
||||
}
|
||||
if (g_scrBuffer == NULL) {
|
||||
return;
|
||||
}
|
||||
memcpy(g_scrBuffer,start,len);
|
||||
g_scrBuffer[len] = 0;
|
||||
@ -426,7 +429,8 @@ void SVM_RunThreads(int deltaMS) {
|
||||
svm_deltaMS = deltaMS;
|
||||
|
||||
if(g_scrBuffer == 0) {
|
||||
g_scrBuffer = malloc(MAX_SCRIPT_LINE);
|
||||
g_scrBufferSize = 256;
|
||||
g_scrBuffer = malloc(g_scrBufferSize + 1);
|
||||
}
|
||||
|
||||
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 DRV_IR2_Init();
|
||||
|
||||
void DRV_ADCSmoother_Init();
|
||||
void DRV_ADCSmoother_RunFrame();
|
||||
|
||||
|
||||
@ -188,6 +188,10 @@ static driver_t g_drivers[] = {
|
||||
//drvdetail:"requires":""}
|
||||
{ "IR", DRV_IR_Init, NULL, NULL, DRV_IR_RunFrame, NULL, NULL, false },
|
||||
#endif
|
||||
#if ENABLE_DRIVER_IR2
|
||||
{ "IR2", DRV_IR2_Init, NULL, NULL, NULL, NULL, NULL, false },
|
||||
#endif
|
||||
|
||||
#if ENABLE_DRIVER_DDP
|
||||
//drvdetail:{"name":"DDP",
|
||||
//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>");
|
||||
|
||||
commandLen = http_getArg(request->url, "cmd", tmpA, sizeof(tmpA));
|
||||
addLogAdv(LOG_ERROR, LOG_FEATURE_HTTP, "http_fn_cmd_tool: len %i",commandLen);
|
||||
if (commandLen) {
|
||||
poststr(request, "<br>");
|
||||
// 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.receivedLenmax = INCOMING_BUFFER_SIZE - 2;
|
||||
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.reply = reply;
|
||||
|
||||
@ -72,6 +72,7 @@
|
||||
#define ENABLE_DRIVER_SSDP 1
|
||||
#define ENABLE_DRIVER_ADCBUTTON 1
|
||||
#define ENABLE_DRIVER_SM15155E 1
|
||||
#define ENABLE_DRIVER_IR2 0
|
||||
|
||||
#elif PLATFORM_BL602
|
||||
|
||||
@ -139,6 +140,7 @@
|
||||
//#define ENABLE_DRIVER_BMPI2C 1
|
||||
#define ENABLE_DRIVER_DDP 1
|
||||
#define ENABLE_DRIVER_SSDP 1
|
||||
#define ENABLE_DRIVER_IR2 0
|
||||
|
||||
#elif PLATFORM_LN882H
|
||||
|
||||
|
||||
@ -3,6 +3,58 @@
|
||||
#include "selftest_local.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() {
|
||||
const char *mqtt_userName = "MyMQTTUser";
|
||||
SIM_ClearOBK(0);
|
||||
@ -47,6 +99,40 @@ void Test_CFG_Via_HTTP() {
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING(0, "SSID1", "newApName");
|
||||
// causes assert
|
||||
//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
|
||||
|
||||
@ -117,6 +117,72 @@ void Test_Commands_Alias_Generic() {
|
||||
CMD_ExecuteCommand("test8", 0);
|
||||
SELFTEST_ASSERT_CHANNEL(4, 11 + 10 * (9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 100));
|
||||
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!
|
||||
//SELFTEST_ASSERT_CHANNEL(5, 666);
|
||||
}
|
||||
|
||||
@ -56,8 +56,8 @@ const char *Helper_GetPastHTTPHeader(const char *s) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static char outbuf[8192];
|
||||
static char buffer[8192];
|
||||
static char outbuf[65536];
|
||||
static char buffer[65536];
|
||||
static const char *replyAt;
|
||||
//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_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) {
|
||||
/*char bufferTemp[8192];
|
||||
va_list argList;
|
||||
|
||||
@ -139,7 +139,7 @@ void Test_GetJSONValue_Setup(const char *text);
|
||||
void Test_FakeHTTPClientPacket_GET(const char *tg);
|
||||
void Test_FakeHTTPClientPacket_POST(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();
|
||||
|
||||
// TODO: move elsewhere?
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user