Merge branch 'main' into dmx3

This commit is contained in:
openshwprojects 2025-09-15 13:17:06 +02:00 committed by GitHub
commit 0e1ab88d59
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
64 changed files with 326 additions and 259 deletions

View File

@ -161,7 +161,9 @@ function getFolder(name, cb) {
}
}
// move our parsing forward to skip all found
j = j2;
// we are allready BEHIND comments when we used break,
// so we need to skip to j2-1 to handle the line in next loop
j = j2 - 1 ;
let json = commentlines.join('\n');
try {
let chan = JSON.parse(json);
@ -303,7 +305,9 @@ function getFolder(name, cb) {
}
}
// move our parsing forward to skip all found
j = j2;
// we are allready BEHIND comments when we used break,
// so we need to skip to j2-1 to handle the line in next loop
j = j2 - 1;
let json = commentlines.join('\n');
try {
let io = JSON.parse(json);
@ -389,7 +393,9 @@ function getFolder(name, cb) {
}
}
// move our parsing forward to skip all found
j = j2;
// we are allready BEHIND comments when we used break,
// so we need to skip to j2-1 to handle the line in next loop
j = j2 -1 ;
let json = commentlines.join('\n');
try {
let drv = JSON.parse(json);
@ -480,7 +486,9 @@ function getFolder(name, cb) {
}
}
// move our parsing forward to skip all found
j = j2;
// we are allready BEHIND comments when we used break,
// so we need to skip to j2-1 to handle the line in next loop
j = j2 - 1;
let json = commentlines.join('\n');
try {
let cnst = JSON.parse(json);
@ -572,7 +580,13 @@ function getFolder(name, cb) {
console.error('duplicate command "' + cmd.name + '" docs at file: ' + file + ' line: ' + line);
console.error(line);
} else {
// console.error('new command "' + cmd.name + '" docs at file: ' + file + ' line: ' + line);
//console.error('new command "' + cmd.name + '" docs at file: ' + file + ' line: ' + line + ' -- json='+ json );
if (cmd.file !== file.slice(6)) {
console.log('!!!! Posible wrong file location for command "' + cmd.name + '": found in file: "' + file.slice(6) + '" but claimes file: "' + cmd.file + '" - please verify! !!!!')
console.error('\t Posible fix: sed -i \''+ (i-3) + ',' + (i-1) + ' { /cmddetail:\\"fn\\":\\"' + cmd.fn + '\"/ s%'+cmd.file + "%" + file.slice(6) + '%} \' src/' + file.slice(6))
console.error('\t test posible fix: sed -n \''+ (i-3) + ',' + (i-1) + ' {/cmddetail:\\"fn\\":\\"' + cmd.fn + '\"/ s%'+cmd.file + "%" + file.slice(6) + '% p }\' src/' + file.slice(6))
}
commands.push(cmd);
cmdindex[cmd.name] = cmd;
}
@ -589,12 +603,16 @@ function getFolder(name, cb) {
line = line.slice('CMD_RegisterCommand('.length);
parts = line.split(',');
//cmddetail:{"name":"SetChannel", "args":"TODO", "fn":"CMD_SetChannel", "descr":"qqqqq0", "example":"", "file":"");
//
// CMD registration command line
// CMD_RegisterCommand("SetChannel", CMD_SetChannel, NULL);
let cmd = {
name: mytrim(parts[0]),
args: mytrim(parts[1]),
args: mytrim("TODO"),
descr: mytrim(""),
fn: mytrim(parts[2]),
fn: mytrim(parts[1]),
file: file.slice(6),
requires: "",
examples: "",
@ -605,6 +623,22 @@ function getFolder(name, cb) {
// lines[i] = lines[i].replace(', NULL, NULL);', ', NULL);');
// modified++;
//}
//
// 20250908 only used once to fix broken auto-generated fn entries with "NULL);" entry
//if (cmdindex[cmd.name] && cmdindex[cmd.name].fn == 'NULL);'){
// console.log('replace fn "'+cmdindex[cmd.name].fn+'" with ' + cmd.fn);
// console.log('newlines i-2 =' +newlines[i-2]);
// cmdindex[cmd.name].fn = cmd.fn;
// newlines[i-2] = newlines[i-2].replace('NULL);', cmd.fn);
// console.log('newlines i-2 =' +newlines[i-2]);
// modified++;
//}
if (cmdindex[cmd.name] && cmdindex[cmd.name].fn !== cmd.fn) {
console.log('!!!! "' + cmd.name + '" in file ' + cmd.file + ' -- fn "' + cmdindex[cmd.name].fn + '" != called function "' + cmd.fn + '" !!!!');
console.log('\t possible fix: sed -i \'' + (i-3) + ',' + (i-1) + ' { /cmddetail:\\"fn\\":\\"' + cmdindex[cmd.name].fn + '\\"/ s%' + cmdindex[cmd.name].fn + "%" + cmd.fn + '% }\' src/' + file.slice(6));
console.log('\t test possible fix: sed -n \'' + (i-3) + ',' + (i-1) + ' { /cmddetail:\\"fn\\":\\"' + cmdindex[cmd.name].fn + '\\"/ s%' + cmdindex[cmd.name].fn + "%" + cmd.fn + '% p }\' src/' + file.slice(6));
}
if (!cmdindex[cmd.name]) {
// it did not have a doc line before
@ -632,7 +666,8 @@ function getFolder(name, cb) {
if (modified) {
let newdata = newlines.join('\n');
try {
fs.writeFileSync(file, newdata);
// write new file as "proposal", so we can choose, if/how to change source file
fs.writeFileSync(file + ".getcommands", newdata);
console.log('updated ' + file);
} catch (e) {
console.error('failed to update ' + file);

View File

@ -525,15 +525,15 @@ void Berry_RunThreads(int deltaMS) {
}
void CMD_InitBerry() {
// cmddetail:{"name":"berry","args":"[Berry code]",
// cmddetail:"descr":"Execute Berry code",
// cmddetail:"fn":"CMD_Berry","file":"cmnds/cmd_berry.c","requires":"",
// cmddetail:"examples":"berry 1+2"}
//cmddetail:{"name":"berry","args":"[Berry code]",
//cmddetail:"descr":"Execute Berry code",
//cmddetail:"fn":"CMD_Berry","file":"cmnds/cmd_berry.c","requires":"",
//cmddetail:"examples":"berry 1+2"}
CMD_RegisterCommand("berry", CMD_Berry, NULL);
// cmddetail:{"name":"stopBerry","args":"[Berry code]",
// cmddetail:"descr":"Stop Berry VM",
// cmddetail:"fn":"CMD_StopBerry","file":"cmnds/cmd_berry.c","requires":"",
// cmddetail:"examples":"stopBerry"}
//cmddetail:{"name":"stopBerry","args":"[Berry code]",
//cmddetail:"descr":"Stop Berry VM",
//cmddetail:"fn":"CMD_StopBerryCommand","file":"cmnds/cmd_berry.c","requires":"",
//cmddetail:"examples":"stopBerry"}
CMD_RegisterCommand("stopBerry", CMD_StopBerryCommand, NULL);
}

View File

@ -621,7 +621,7 @@ void CMD_InitChannelCommands(){
CMD_RegisterCommand("SetChannelVisible", CMD_SetChannelVisible, NULL);
//cmddetail:{"name":"SetChannelPrivate","args":"[ChannelIndex][bPrivate]",
//cmddetail:"descr":"Channels marked as private are NEVER published via MQTT and excluded from Home Assistant discovery",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_channels.c","requires":"",
//cmddetail:"fn":"CMD_SetChannelPrivate","file":"cmnds/cmd_channels.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SetChannelPrivate", CMD_SetChannelPrivate, NULL);
//cmddetail:{"name":"Ch","args":"[InputValue]",

View File

@ -466,50 +466,50 @@ const constant_t g_constants[] = {
//cnstdetail:"descr":"Current second from NTP",
//cnstdetail:"requires":""}
{ "$second", &getSecond },
////cnstdetail:{"name":"$mday",
////cnstdetail:"title":"$mday",
////cnstdetail:"descr":"Current mday from NTP",
////cnstdetail:"requires":""}
//cnstdetail:{"name":"$mday",
//cnstdetail:"title":"$mday",
//cnstdetail:"descr":"Current mday from NTP",
//cnstdetail:"requires":""}
{ "$mday", &getMDay },
////cnstdetail:{"name":"$month",
////cnstdetail:"title":"$month",
////cnstdetail:"descr":"Current month from NTP",
////cnstdetail:"requires":""}
//cnstdetail:{"name":"$month",
//cnstdetail:"title":"$month",
//cnstdetail:"descr":"Current month from NTP",
//cnstdetail:"requires":""}
{ "$month", &getMonth },
////cnstdetail:{"name":"$year",
////cnstdetail:"title":"$year",
////cnstdetail:"descr":"Current Year from NTP",
////cnstdetail:"requires":""}
//cnstdetail:{"name":"$year",
//cnstdetail:"title":"$year",
//cnstdetail:"descr":"Current Year from NTP",
//cnstdetail:"requires":""}
{ "$year", &getYear },
#ifdef ENABLE_DRIVER_BL0937
////cnstdetail:{"name":"$yesterday",
////cnstdetail:"title":"$yesterday",
////cnstdetail:"descr":"",
////cnstdetail:"requires":""}
//cnstdetail:{"name":"$yesterday",
//cnstdetail:"title":"$yesterday",
//cnstdetail:"descr":"",
//cnstdetail:"requires":""}
{ "$yesterday", &getYesterday },
////cnstdetail:{"name":"$today",
////cnstdetail:"title":"$today",
////cnstdetail:"descr":"",
////cnstdetail:"requires":""}
//cnstdetail:{"name":"$today",
//cnstdetail:"title":"$today",
//cnstdetail:"descr":"",
//cnstdetail:"requires":""}
{ "$today", &getToday },
#endif
#if ENABLE_NTP_DST
////cnstdetail:{"name":"$isDST",
////cnstdetail:"title":"$isDST",
////cnstdetail:"descr":"",
////cnstdetail:"requires":""}
//cnstdetail:{"name":"$isDST",
//cnstdetail:"title":"$isDST",
//cnstdetail:"descr":"",
//cnstdetail:"requires":""}
{ "$isDST", &isDST },
#endif
#if ENABLE_NTP_SUNRISE_SUNSET
////cnstdetail:{"name":"$sunrise",
////cnstdetail:"title":"$sunrise",
////cnstdetail:"descr":"Next sunrise as a TimerSeconds from midnight",
////cnstdetail:"requires":""}
//cnstdetail:{"name":"$sunrise",
//cnstdetail:"title":"$sunrise",
//cnstdetail:"descr":"Next sunrise as a TimerSeconds from midnight",
//cnstdetail:"requires":""}
{ "$sunrise", &getSunrise },
////cnstdetail:{"name":"$sunset",
////cnstdetail:"title":"$sunset",
////cnstdetail:"descr":"Next sunset as a TimerSeconds from midnight",
////cnstdetail:"requires":""}
//cnstdetail:{"name":"$sunset",
//cnstdetail:"title":"$sunset",
//cnstdetail:"descr":"Next sunset as a TimerSeconds from midnight",
//cnstdetail:"requires":""}
{ "$sunset", &getSunset },
#endif
//cnstdetail:{"name":"$NTPOn",

View File

@ -740,7 +740,7 @@ commandResult_t CMD_CreateAliasHelper(const char *alias, const char *ocmd) {
//cmddetail:{"name":"aliasMem","args":"",
//cmddetail:"descr":"Internal usage only. See docs for 'alias' command.",
//cmddetail:"fn":"runcmd","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"runcmd","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"examples":""}
command_t *cmd = CMD_RegisterCommand(aliasMem, runcmd, cmdMem);
if (cmd) {
@ -968,7 +968,7 @@ static commandResult_t CMD_WebServer(const void* context, const char* cmd, const
void CMD_Init_Early() {
//cmddetail:{"name":"alias","args":"[Alias][Command with spaces]",
//cmddetail:"descr":"add an aliased command, so a command with spaces can be called with a short, nospaced alias",
//cmddetail:"fn":"alias","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"CMD_CreateAliasForCommand","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("alias", CMD_CreateAliasForCommand, NULL);
//cmddetail:{"name":"echo","args":"[Message]",
@ -1055,7 +1055,7 @@ void CMD_Init_Early() {
CMD_RegisterCommand("OpenAP", CMD_OpenAP, NULL);
//cmddetail:{"name":"DSEdge","args":"[edgeCode][optionalPinIndex]",
//cmddetail:"descr":"DeepSleep (PinDeepSleep) wake configuration command. 0 means always wake up on rising edge, 1 means on falling, 2 means if state is high, use falling edge, if low, use rising. Default is 2. Second argument is optional and allows to set per-pin DSEdge instead of setting it for all pins.",
//cmddetail:"fn":"CMD_DeepSleep_SetEdge","file":"drv/drv_doorSensorWithDeepSleep.c","requires":"",
//cmddetail:"fn":"CMD_DeepSleep_SetEdge","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("DSEdge", CMD_DeepSleep_SetEdge, NULL);
//cmddetail:{"name":"SafeMode","args":"[OptionalDelayBeforeRestart]",
@ -1082,18 +1082,18 @@ void CMD_Init_Early() {
CMD_RegisterCommand("StartupCommand", CMD_StartupCommand, NULL);
//cmddetail:{"name":"Choice","args":"[IndexToExecute][Option0][Option1][Option2][OptionN][etc]",
//cmddetail:"descr":"This will choose a given argument by index and execute it as a command. Index to execute can be a variable like $CH1.",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_Choice","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("Choice", CMD_Choice, NULL);
//cmddetail:{"name":"PWMFrequency","args":"[FrequencyInHz]",
//cmddetail:"descr":"Sets the global PWM frequency.",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_PWMFrequency","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("PWMFrequency", CMD_PWMFrequency, NULL);
//cmddetail:{"name":"IndexRefreshInterval","args":"[Interval]",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_IndexRefreshInterval","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("IndexRefreshInterval", CMD_IndexRefreshInterval, NULL);

View File

@ -1749,7 +1749,7 @@ void NewLED_InitCommands(){
CMD_RegisterCommand("led_finishFullLerp", led_finishFullLerp, NULL);
//cmddetail:{"name":"led_gammaCtrl","args":"sub-cmd [par]",
//cmddetail:"descr":"control LED Gamma Correction and Calibration",
//cmddetail:"fn":"rgb_gamma_control","file":"cmnds/cmd_rgbGamma.c","requires":"",
//cmddetail:"fn":"led_gamma_control","file":"cmnds/cmd_newLEDDriver.c","requires":"",
//cmddetail:"examples":"led_gammaCtrl on"}
CMD_RegisterCommand("led_gammaCtrl", led_gamma_control, NULL);
//cmddetail:{"name":"CTRange","args":"[MinRange][MaxRange]",

View File

@ -510,7 +510,7 @@ int CMD_InitTestCommands(){
CMD_RegisterCommand("testArgs", testArgs, NULL);
//cmddetail:{"name":"testAtoi","args":"",
//cmddetail:"descr":"Test atoi function",
//cmddetail:"fn":"testArgs","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"testAtoi","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("testAtoi", testAtoi, NULL);
//cmddetail:{"name":"testStrdup","args":"",
@ -520,113 +520,113 @@ int CMD_InitTestCommands(){
CMD_RegisterCommand("testStrdup", testStrdup, NULL);
//cmddetail:{"name":"lfs_test1","args":"[FileName]",
//cmddetail:"descr":"Tests the LFS file reading feature.",
//cmddetail:"fn":"cmnd_lfs_test1","file":"cmnds/cmd_tasmota.c","requires":"",
//cmddetail:"fn":"cmnd_lfs_test1","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("lfs_test1", cmnd_lfs_test1, NULL);
//cmddetail:{"name":"lfs_test2","args":"[FileName]",
//cmddetail:"descr":"Tests the LFS file reading feature.",
//cmddetail:"fn":"cmnd_lfs_test2","file":"cmnds/cmd_tasmota.c","requires":"",
//cmddetail:"fn":"cmnd_lfs_test2","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("lfs_test2", cmnd_lfs_test2, NULL);
//cmddetail:{"name":"lfs_test3","args":"[FileName]",
//cmddetail:"descr":"Tests the LFS file reading feature.",
//cmddetail:"fn":"cmnd_lfs_test3","file":"cmnds/cmd_tasmota.c","requires":"",
//cmddetail:"fn":"cmnd_lfs_test3","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("lfs_test3", cmnd_lfs_test3, NULL);
//cmddetail:{"name":"json_test","args":"",
//cmddetail:"descr":"Developer-only command used to test CJSON library",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"cmnd_json_test","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("json_test", cmnd_json_test, NULL);
//cmddetail:{"name":"TimeSize","args":"",
//cmddetail:"descr":"Prints the size of time_t on current platform - sizeof(time_t), only for testing purposes",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_TimeSize","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TimeSize", CMD_TimeSize, NULL);
//cmddetail:{"name":"stackOverflow","args":"",
//cmddetail:"descr":"Causes a stack overflow",
//cmddetail:"fn":"CMD_StackOverflow","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_StackOverflow","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("stackOverflow", CMD_StackOverflow, NULL);
//cmddetail:{"name":"crashNull","args":"",
//cmddetail:"descr":"Causes a crash",
//cmddetail:"fn":"CMD_CrashNull","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_CrashNull","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("crashNull", CMD_CrashNull, NULL);
//cmddetail:{"name":"simonirtest","args":"",
//cmddetail:"descr":"Simons Special Test",
//cmddetail:"fn":"CMD_SimonTest","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_SimonTest","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("simonirtest", CMD_SimonTest, NULL);
//cmddetail:{"name":"TestSprintfForInteger","args":"CMD_TestSprintfForInteger",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"CMD_TestSprintfForInteger","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TestSprintfForInteger", CMD_TestSprintfForInteger, NULL);
//cmddetail:{"name":"TestSprintfForHex","args":"CMD_TestSprintfForHex",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"CMD_TestSprintfForHex","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TestSprintfForHex", CMD_TestSprintfForHex, NULL);
//cmddetail:{"name":"TestSprintfForFloat","args":"CMD_TestSprintfForFloat",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"CMD_TestSprintfForFloat","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TestSprintfForFloat", CMD_TestSprintfForFloat, NULL);
//cmddetail:{"name":"TestStrcpy","args":"CMD_TestStrcpy",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"CMD_TestStrcpy","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TestStrcpy", CMD_TestStrcpy, NULL);
//cmddetail:{"name":"TestStrncpy","args":"CMD_TestStrncpy",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"CMD_TestStrncpy","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TestStrncpy", CMD_TestStrncpy, NULL);
//cmddetail:{"name":"TestStrcmp","args":"CMD_TestStrcmp",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"CMD_TestStrcmp","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TestStrcmp", CMD_TestStrcmp, NULL);
//cmddetail:{"name":"TestStrlen","args":"CMD_TestStrlen",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"CMD_TestStrlen","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TestStrlen", CMD_TestStrlen, NULL);
//cmddetail:{"name":"TestStrcat","args":"CMD_TestStrcat",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"CMD_TestStrcat","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TestStrcat", CMD_TestStrcat, NULL);
//cmddetail:{"name":"TestMemset","args":"CMD_TestMemset",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"CMD_TestMemset","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TestMemset", CMD_TestMemset, NULL);
//cmddetail:{"name":"TestMemcpy","args":"CMD_TestMemcpy",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"CMD_TestMemcpy","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TestMemcpy", CMD_TestMemcpy, NULL);
//cmddetail:{"name":"TestMemcmp","args":"CMD_TestMemcmp",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"CMD_TestMemcmp","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TestMemcmp", CMD_TestMemcmp, NULL);
//cmddetail:{"name":"TestChannelSetToExpression","args":"CMD_TestChannelSetToExpression",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"CMD_TestChannelSetToExpression","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TestChannelSetToExpression", CMD_TestChannelSetToExpression, NULL);
//cmddetail:{"name":"TestParseIP","args":"CMD_TestParseIP",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"CMD_TestParseIP","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TestParseIP", CMD_TestParseIP, NULL);
//cmddetail:{"name":"TestIPtoStr","args":"CMD_TestIPtoStr",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"fn":"CMD_TestIPtoStr","file":"cmnds/cmd_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TestIPtoStr", CMD_TestIPtoStr, NULL);

View File

@ -53,7 +53,7 @@ void DRV_ADCButton_Init() {
//cmddetail:{"name":"AB_Map","args":"[int]",
//cmddetail:"descr":"Sets margines for ADC button codes. For given N margins, there are N+1 possible ADC button values (one should be reserved for 'no button')",
//cmddetail:"fn":"Cmd_ADCButtonMap","file":"drv/drv_adcButton.c","requires":"",
//cmddetail:"fn":"Cmd_ADCButtonMap","file":"driver/drv_adcButton.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("AB_Map", Cmd_ADCButtonMap, NULL);
}

View File

@ -80,7 +80,7 @@ void DRV_ADCSmoother_Init() {
//cmddetail:{"name":"ADCSmoother","args":"[Pindex] [TotalSamples] [SampleIntervalMS] [TargetChannelADCValue] [MarginValue] [TargetChannel0or1]",
//cmddetail:"descr":"Starts the ADC smoother with given configuration",
//cmddetail:"fn":"NULL);","file":"driver/drv_adcSmoother.c","requires":"",
//cmddetail:"fn":"Cmd_SetupADCSmoother","file":"driver/drv_adcSmoother.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("ADCSmoother", Cmd_SetupADCSmoother, NULL);
}

View File

@ -202,17 +202,17 @@ void AHT2X_Init()
CMD_RegisterCommand("AHT2X_Calibrate", AHT2X_Calibrate, NULL);
//cmddetail:{"name":"AHT2X_Cycle","args":"[IntervalSeconds]",
//cmddetail:"descr":"This is the interval between measurements in seconds, by default 1. Max is 255.",
//cmddetail:"fn":"AHT2X_cycle","file":"drv/drv_aht2X.c","requires":"",
//cmddetail:"fn":"AHT2X_Cycle","file":"driver/drv_aht2x.c","requires":"",
//cmddetail:"examples":"AHT2X_Cycle 60 <br /> measurement is taken every 60 seconds"}
CMD_RegisterCommand("AHT2X_Cycle", AHT2X_Cycle, NULL);
//cmddetail:{"name":"AHT2X_Measure","args":"",
//cmddetail:"descr":"Retrieve OneShot measurement.",
//cmddetail:"fn":"AHT2X_Measure","file":"drv/drv_aht2X.c","requires":"",
//cmddetail:"fn":"AHT2X_Force","file":"driver/drv_aht2x.c","requires":"",
//cmddetail:"examples":"AHT2X_Measure"}
CMD_RegisterCommand("AHT2X_Measure", AHT2X_Force, NULL);
//cmddetail:{"name":"AHT2X_Reinit","args":"",
//cmddetail:"descr":"Reinitialize sensor.",
//cmddetail:"fn":"AHT2X_Reinit","file":"drv/drv_aht2X.c","requires":"",
//cmddetail:"fn":"AHT2X_Reinit","file":"driver/drv_aht2x.c","requires":"",
//cmddetail:"examples":"AHT2X_Reinit"}
CMD_RegisterCommand("AHT2X_Reinit", AHT2X_Reinit, NULL);
}

View File

@ -150,13 +150,13 @@ void Batt_Init() {
//cmddetail:{"name":"Battery_Setup","args":"[minbatt][maxbatt][V_divider][Vref][AD Bits]",
//cmddetail:"descr":"measure battery based on ADC. <br />req. args: minbatt in mv, maxbatt in mv. <br />optional: V_divider(2), Vref(default 2400), ADC bits(4096)",
//cmddetail:"fn":"Battery_Setup","file":"drv/drv_battery.c","requires":"",
//cmddetail:"fn":"Battery_Setup","file":"driver/drv_battery.c","requires":"",
//cmddetail:"examples":"Battery_Setup 1500 3000 2 2400 4096"}
CMD_RegisterCommand("Battery_Setup", Battery_Setup, NULL);
//cmddetail:{"name":"Battery_cycle","args":"[int]",
//cmddetail:"descr":"change cycle of measurement by default every 10 seconds",
//cmddetail:"fn":"Battery_cycle","file":"drv/drv_battery.c","requires":"",
//cmddetail:"fn":"Battery_cycle","file":"driver/drv_battery.c","requires":"",
//cmddetail:"examples":"Battery_cycle 60"}
CMD_RegisterCommand("Battery_cycle", Battery_cycle, NULL);

View File

@ -124,7 +124,7 @@ void BL0937_Init(void)
//cmddetail:{"name":"PowerMax","args":"[MaxPowerInW]",
//cmddetail:"descr":"Sets the maximum power limit for BL measurement used to filter incorrect values",
//cmddetail:"fn":"NULL);","file":"driver/drv_bl0937.c","requires":"",
//cmddetail:"fn":"BL0937_PowerMax","file":"driver/drv_bl0937.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("PowerMax", BL0937_PowerMax, NULL);

View File

@ -480,7 +480,7 @@ static commandResult_t CMD_BL0942opts(const void* context, const char* cmd, cons
void BL0942_AddCommands(void) {
//cmddetail:{"name":"BL0942opts","args":"opts",
//cmddetail:"descr":"BL0942opts 0= default mode (as set in config Flag 26), 3= two BL0942 on both UARTs (bit0 BL0942 on UART1, bit1 BL0942 on UART2)",
//cmddetail:"fn":"NULL);","file":"driver/drv_pwrCal.c","requires":"",
//cmddetail:"fn":"CMD_BL0942opts","file":"driver/drv_bl0942.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("BL0942opts", CMD_BL0942opts, NULL);
}

View File

@ -168,7 +168,7 @@ void BMPI2C_Init()
CMD_RegisterCommand("BMPI2C_Calibrate", BMPI2C_Calibrate, NULL);
//cmddetail:{"name":"BMPI2C_Cycle","args":"[IntervalSeconds]",
//cmddetail:"descr":"This is the interval between measurements in seconds, by default 1. Max is 255.",
//cmddetail:"fn":"BMPI2C_cycle","file":"drv/drv_bmpi2c.c","requires":"",
//cmddetail:"fn":"BMPI2C_Cycle","file":"driver/drv_bmpi2c.c","requires":"",
//cmddetail:"examples":"BMPI2C_Cycle 60 <br /> measurement is taken every 60 seconds"}
CMD_RegisterCommand("BMPI2C_Cycle", BMPI2C_Cycle, NULL);
}

View File

@ -91,12 +91,12 @@ void BP1658CJ_Init() {
//cmddetail:{"name":"BP1658CJ_RGBCW","args":"[HexColor]",
//cmddetail:"descr":"Don't use it. It's for direct access of BP1658CJ driver. You don't need it because LED driver automatically calls it, so just use led_basecolor_rgb",
//cmddetail:"fn":"BP1658CJ_RGBCW","file":"driver/drv_bp1658cj.c","requires":"",
//cmddetail:"fn":"CMD_LEDDriver_WriteRGBCW","file":"driver/drv_bp1658cj.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("BP1658CJ_RGBCW", CMD_LEDDriver_WriteRGBCW, NULL);
//cmddetail:{"name":"BP1658CJ_Map","args":"[Ch0][Ch1][Ch2][Ch3][Ch4]",
//cmddetail:"descr":"Maps the RGBCW values to given indices of BP1658CJ channels. This is because BP5758D channels order is not the same for some devices. Some devices are using RGBCW order and some are using GBRCW, etc, etc. Example usage: BP1658CJ_Map 0 1 2 3 4",
//cmddetail:"fn":"BP1658CJ_Map","file":"driver/drv_bp1658cj.c","requires":"",
//cmddetail:"fn":"CMD_LEDDriver_Map","file":"driver/drv_bp1658cj.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("BP1658CJ_Map", CMD_LEDDriver_Map, NULL);
//cmddetail:{"name":"BP1658CJ_Current","args":"[MaxCurrentRGB][MaxCurrentCW]",

View File

@ -178,12 +178,12 @@ void BP5758D_Init() {
//cmddetail:{"name":"BP5758D_RGBCW","args":"[HexColor]",
//cmddetail:"descr":"Don't use it. It's for direct access of BP5758D driver. You don't need it because LED driver automatically calls it, so just use led_basecolor_rgb",
//cmddetail:"fn":"BP5758D_RGBCW","file":"driver/drv_bp5758d.c","requires":"",
//cmddetail:"fn":"CMD_LEDDriver_WriteRGBCW","file":"driver/drv_bp5758d.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("BP5758D_RGBCW", CMD_LEDDriver_WriteRGBCW, NULL);
//cmddetail:{"name":"BP5758D_Map","args":"[Ch0][Ch1][Ch2][Ch3][Ch4]",
//cmddetail:"descr":"Maps the RGBCW values to given indices of BP5758D channels. This is because BP5758D channels order is not the same for some devices. Some devices are using RGBCW order and some are using GBRCW, etc, etc. Example usage: BP5758D_Map 0 1 2 3 4",
//cmddetail:"fn":"BP5758D_Map","file":"driver/drv_bp5758d.c","requires":"",
//cmddetail:"fn":"CMD_LEDDriver_Map","file":"driver/drv_bp5758d.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("BP5758D_Map", CMD_LEDDriver_Map, NULL);
//cmddetail:{"name":"BP5758D_Current","args":"[MaxCurrentRGB][MaxCurrentCW]",

View File

@ -54,7 +54,7 @@ void ChargingLimit_Init() {
//cmddetail:{"name":"chSetupLimit","args":"[limitChannelIndex] [maxAllowedLimitChannelDelta] [timeoutOr-1] [commandToRun]",
//cmddetail:"descr":"After executing this command, chargingLimit driver will watch channel for changes and count down timer. When a timer runs our or channel change (from the initial state) is larger than given margin, given command is run",
//cmddetail:"fn":"ChargingLimit_SetupCommand);","file":"driver/drv_chargingLimit.c","requires":"",
//cmddetail:"fn":"ChargingLimit_SetupCommand","file":"driver/drv_chargingLimit.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("chSetupLimit", ChargingLimit_SetupCommand, NULL);
}

View File

@ -671,27 +671,27 @@ void DRV_Charts_Init() {
//cmddetail:{"name":"chart_setAxis","args":"[axis_index][name][flags][label]",
//cmddetail:"descr":"Sets up an axis with a name, flags, and label. Currently flags can be 0 (left axis) or 1 (right axis). See [tutorial](https://www.elektroda.com/rtvforum/topic4075289.html).",
//cmddetail:"fn":"NULL);","file":"driver/drv_charts.c","requires":"",
//cmddetail:"fn":"CMD_Chart_SetAxis","file":"driver/drv_charts.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("chart_setAxis", CMD_Chart_SetAxis, NULL);
//cmddetail:{"name":"chart_setVar","args":"[var_index][title][axis]",
//cmddetail:"descr":"Associates a variable with a specific axis. See [tutorial](https://www.elektroda.com/rtvforum/topic4075289.html).",
//cmddetail:"fn":"NULL);","file":"driver/drv_charts.c","requires":"",
//cmddetail:"fn":"CMD_Chart_SetVar","file":"driver/drv_charts.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("chart_setVar", CMD_Chart_SetVar, NULL);
//cmddetail:{"name":"chart_create","args":"[max_samples][num_vars][num_axes]",
//cmddetail:"descr":"Creates a chart with a specified number of samples, variables, and axes. See [tutorial](https://www.elektroda.com/rtvforum/topic4075289.html).",
//cmddetail:"fn":"NULL);","file":"driver/drv_charts.c","requires":"",
//cmddetail:"fn":"CMD_Chart_Create","file":"driver/drv_charts.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("chart_create", CMD_Chart_Create, NULL);
//cmddetail:{"name":"chart_addNow","args":"[val1][val2]...[valN]",
//cmddetail:"descr":"Adds data to the chart using the current NTP time. See [tutorial](https://www.elektroda.com/rtvforum/topic4075289.html).",
//cmddetail:"fn":"NULL);","file":"driver/drv_charts.c","requires":"",
//cmddetail:"fn":"CMD_Chart_AddNow","file":"driver/drv_charts.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("chart_addNow", CMD_Chart_AddNow, NULL);
//cmddetail:{"name":"chart_add","args":"[ntp_time][val1][val2]...[valN]",
//cmddetail:"descr":"Adds data to the chart with specified variables at a specific NTP time. See [tutorial](https://www.elektroda.com/rtvforum/topic4075289.html).",
//cmddetail:"fn":"NULL);","file":"driver/drv_charts.c","requires":"",
//cmddetail:"fn":"CMD_Chart_Add","file":"driver/drv_charts.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("chart_add", CMD_Chart_Add, NULL);

View File

@ -273,17 +273,17 @@ void CHT83XX_Init()
//cmddetail:{"name":"CHT_Calibrate","args":"[DeltaTemp][DeltaHumidity]",
//cmddetail:"descr":"Calibrate the CHT Sensor as Tolerance is +/-2 degrees C.",
//cmddetail:"fn":"CHT_Calibrate","file":"driver/drv_cht8305.c","requires":"",
//cmddetail:"fn":"CHT83XX_Calibrate","file":"driver/drv_cht8305.c","requires":"",
//cmddetail:"examples":"CHT_Calibrate -4 10 <br /> meaning -4 on current temp reading and +10 on current humidity reading"}
CMD_RegisterCommand("CHT_Calibrate", CHT83XX_Calibrate, NULL);
//cmddetail:{"name":"CHT_Cycle","args":"[IntervalSeconds]",
//cmddetail:"descr":"This is the interval between measurements in seconds, by default 1. Max is 255.",
//cmddetail:"fn":"CHT_cycle","file":"drv/drv_cht8305.c","requires":"",
//cmddetail:"fn":"CHT83XX_Cycle","file":"driver/drv_cht8305.c","requires":"",
//cmddetail:"examples":"CHT_Cycle 60 <br /> measurement is taken every 60 seconds"}
CMD_RegisterCommand("CHT_Cycle", CHT83XX_Cycle, NULL);
//cmddetail:{"name":"CHT_Alert","args":"[TempDiff][HumDiff][Freq][FQ]",
//cmddetail:"descr":"Enable alert pin. TempDif (temperature difference is any float higher than 0.05<EFBFBD>C) = set detected difference in temperature required for device to wake. HumDiff (humidity difference is any float higher than 0.1%). Freq (time per measurement in s) = 1, 5, 10, 60, 120 (default if wrong = 1). FQ (fault queue number) = 1, 2, 4, 6 (default if wrong = 1)",
//cmddetail:"fn":"CHT_Alert","file":"drv/drv_cht8305.c","requires":"",
//cmddetail:"fn":"CHT83XX_Alert","file":"driver/drv_cht8305.c","requires":"",
//cmddetail:"examples":"CHT_Alert 0.5 0 5 2 <br /> alert pin will trigger when temperature deviates by more than 0.5<EFBFBD>C. Humidity will be ignored. Sensor measures every 5s with fault queue number 2."}
CMD_RegisterCommand("CHT_Alert", CHT83XX_Alert, NULL);
}

View File

@ -195,7 +195,10 @@ void DRV_DDPSend_Init()
addLogAdv(LOG_ERROR, LOG_FEATURE_HTTP, "DRV_DDPSend_Init: failed to do socket\n");
return;
}
//cmddetail:{"name":"DDP_Send","args":"IP host pixelsize delay pData",
//cmddetail:"descr":"",
//cmddetail:"fn":"DDP_Send","file":"driver/drv_ddpSend.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("DDP_Send", DDP_Send, NULL);
}

View File

@ -67,7 +67,7 @@ void DoorDeepSleep_Init() {
//cmddetail:{"name":"DSTime","args":"[timeSeconds][optionalAutoWakeUpTimeSeconds]",
//cmddetail:"descr":"DoorSensor driver configuration command. Time to keep device running before next sleep after last door sensor change. In future we may add also an option to automatically sleep after MQTT confirms door state receival. You can also use this to extend current awake time (at runtime) with syntax: 'DSTime +10', this will make device stay awake 10 seconds longer. You can also restart current value of awake counter by 'DSTime clear', this will make counter go from 0 again.",
//cmddetail:"fn":"DoorDeepSleep_SetTime","file":"drv/drv_doorSensorWithDeepSleep.c","requires":"",
//cmddetail:"fn":"DoorDeepSleep_SetTime","file":"driver/drv_doorSensorWithDeepSleep.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("DSTime", DoorDeepSleep_SetTime, NULL);
}

View File

@ -252,7 +252,7 @@ void init_TEST_US(){
#if ENABLE_DS1820_TEST_US && ! WINDOWS
//cmddetail:{"name":"testus","args":"pin <pause in us> <testval 1 in us> [<testval n in us>...]",
//cmddetail:"descr":"tests usleep on given pin ",
//cmddetail:"fn":"NULL);","file":"driver/drv_ds1820_simple.c","requires":"",
//cmddetail:"fn":"CMD_OW_testus","file":"driver/drv_ds1820_common.c","requires":"",
//cmddetail:"examples":"testus 11 5 2 4 6 10 20 50 100 200 500"}
if (! testus_initialized) CMD_RegisterCommand("testus", CMD_OW_testus, NULL);
testus_initialized = true;

View File

@ -713,17 +713,17 @@ void DS1820_full_driver_Init()
//cmddetail:{"name":"DS1820_FULL_SetResolution","args":"[int]",
//cmddetail:"descr":"Sets resolution for connected DS1820 sensor (9/10/11/12 bits)",
//cmddetail:"fn":"Cmd_SetResolution","file":"drv/drv_ds1820_simple.c","requires":"",
//cmddetail:"fn":"Cmd_DS18B20_SetResolution","file":"driver/drv_ds1820_full.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("DS1820_FULL_SetResolution", Cmd_DS18B20_SetResolution, NULL);
//cmddetail:{"name":"DS1820_FULL_setsensor","args":"DS18B20-Addr name [channel]",
//cmddetail:"descr":"Sets a name [and optional channel] to a DS18B20 sensor by sensors address",
//cmddetail:"fn":"NULL);","file":"driver/drv_ds1802_simple.c","requires":"",
//cmddetail:"fn":"CMD_DS18B20_setsensor","file":"driver/drv_ds1820_full.c","requires":"",
//cmddetail:"examples":"DS1820_FULL_setsensor \"0x28 0x01 0x02 0x03 0x04 0x05 0x06 0x07\" \"kitchen\" 2"}
CMD_RegisterCommand("DS1820_FULL_setsensor", CMD_DS18B20_setsensor, NULL);
//cmddetail:{"name":"DS18B20_FULL_scansensors","args":"-",
//cmddetail:{"name":"DS1820_FULL_scansensors","args":"-",
//cmddetail:"descr":"(Re-)Scan all GPIOs defined for DS1820 for sensors",
//cmddetail:"fn":"NULL);","file":"driver/drv_ds1802_simple.c","requires":"",
//cmddetail:"fn":"CMD_DS18B20_scansensors","file":"driver/drv_ds1820_full.c","requires":"",
//cmddetail:"examples":"DS1820_FULL_scansensors"}
CMD_RegisterCommand("DS1820_FULL_scansensors", CMD_DS18B20_scansensors, NULL);

View File

@ -74,7 +74,7 @@ void DS1820_driver_Init()
//cmddetail:{"name":"DS1820_SetResolution","args":"[int]",
//cmddetail:"descr":"Sets resolution for connected DS1820 sensor (9/10/11/12 bits)",
//cmddetail:"fn":"Cmd_SetResolution","file":"drv/drv_ds1820_simple.c","requires":"",
//cmddetail:"fn":"Cmd_SetResolution","file":"driver/drv_ds1820_simple.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("DS1820_SetResolution", Cmd_SetResolution, NULL);
//Find PIN and check device so DS1820_SetResolution could be used in autoexec.bat

View File

@ -272,32 +272,32 @@ void HT16K33_Init() {
//cmddetail:{"name":"HT16K33_Test","args":"HT16K33_Test",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_ht16k33.c","requires":"",
//cmddetail:"fn":"HT16K33_Test","file":"driver/drv_ht16k33.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("HT16K33_Test", HT16K33_Test, NULL);
//cmddetail:{"name":"HT16K33_Char","args":"HT16K33_Char",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_ht16k33.c","requires":"",
//cmddetail:"fn":"HT16K33_Char","file":"driver/drv_ht16k33.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("HT16K33_Char", HT16K33_Char, NULL);
//cmddetail:{"name":"HT16K33_Raw","args":"HT16K33_Raw",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_ht16k33.c","requires":"",
//cmddetail:"fn":"HT16K33_Raw","file":"driver/drv_ht16k33.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("HT16K33_Raw", HT16K33_Raw, NULL);
//cmddetail:{"name":"HT16K33_Print","args":"HT16K33_Print",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_ht16k33.c","requires":"",
//cmddetail:"fn":"HT16K33_Print","file":"driver/drv_ht16k33.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("HT16K33_Print", HT16K33_Print, NULL);
//cmddetail:{"name":"HT16K33_Brightness","args":"HT16K33_Brightness",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_ht16k33.c","requires":"",
//cmddetail:"fn":"HT16K33_Brightness","file":"driver/drv_ht16k33.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("HT16K33_Brightness", HT16K33_Brightness, NULL);
//cmddetail:{"name":"HT16K33_Blink","args":"HT16K33_Blink",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_ht16k33.c","requires":"",
//cmddetail:"fn":"HT16K33_Blink","file":"driver/drv_ht16k33.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("HT16K33_Blink", HT16K33_Blink, NULL);
}

View File

@ -354,12 +354,12 @@ static commandResult_t CMD_IR2_SetupIR2(const void* context, const char* cmd, co
void DRV_IR2_Init() {
//cmddetail:{"name":"SetupIR2","args":"[myPeriodUs] [dutyOnFrac] [dutyOffFrac] [txPin]",
//cmddetail:"descr":"Init IR2 pin and interrupt",
//cmddetail:"fn":"NULL);","file":"driver/drv_ir2.c","requires":"",
//cmddetail:"fn":"CMD_IR2_SetupIR2","file":"driver/drv_ir2.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SetupIR2", CMD_IR2_SetupIR2, NULL);
//cmddetail:{"name":"SendIR2","args":"CMD_IR2_SendIR2",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_ir2.c","requires":"",
//cmddetail:"fn":"CMD_IR2_SendIR2","file":"driver/drv_ir2.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SendIR2", CMD_IR2_SendIR2, NULL);

View File

@ -863,19 +863,19 @@ extern "C" void DRV_IR_Init() {
CMD_RegisterCommand("IRSend", IR_Send_Cmd, NULL);
//cmddetail:{"name":"IRAC","args":"[TODO]",
//cmddetail:"descr":"Sends IR commands for HVAC control (TODO)",
//cmddetail:"fn":"IR_AC_Cmd","file":"driver/drv_ir.cpp","requires":"",
//cmddetail:"fn":"IR_AC_Cmd","file":"driver/drv_ir_new.cpp","requires":"",
//cmddetail:"examples":""}
#ifdef ENABLE_IRAC
CMD_RegisterCommand("IRAC", IR_AC_Cmd, NULL);
#endif //ENABLE_IRAC
//cmddetail:{"name":"IREnable","args":"[Str][1or0]",
//cmddetail:"descr":"Enable/disable aspects of IR. IREnable RXTX 0/1 - enable Rx whilst Tx. IREnable [protocolname] 0/1 - enable/disable a specified protocol",
//cmddetail:"fn":"IR_Enable","file":"driver/drv_ir.cpp","requires":"",
//cmddetail:"fn":"IR_Enable","file":"driver/drv_ir_new.cpp","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("IREnable",IR_Enable, NULL);
//cmddetail:{"name":"IRParam","args":"[MinSize] [Noise Threshold]",
//cmddetail:"descr":"Set minimal size of the message and noise threshold",
//cmddetail:"fn":"IR_Enable","file":"driver/drv_ir.cpp","requires":"",
//cmddetail:"fn":"IR_Param","file":"driver/drv_ir_new.cpp","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("IRParam",IR_Param, NULL);
}

View File

@ -109,12 +109,12 @@ void KP18058_Init() {
//cmddetail:{"name":"KP18058_RGBCW","args":"[HexColor]",
//cmddetail:"descr":"Don't use it. It's for direct access of KP18058 driver. You don't need it because LED driver automatically calls it, so just use led_basecolor_rgb",
//cmddetail:"fn":"KP18058_RGBCW","file":"driver/drv_kp18058.c","requires":"",
//cmddetail:"fn":"CMD_LEDDriver_WriteRGBCW","file":"driver/drv_kp18058.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("KP18058_RGBCW", CMD_LEDDriver_WriteRGBCW, NULL);
//cmddetail:{"name":"KP18058_Map","args":"[Ch0][Ch1][Ch2][Ch3][Ch4]",
//cmddetail:"descr":"Maps KP18058_Map RGBCW values to given indices of KP18058 channels. This is because KP18058 channels order is not the same for some devices. Some devices are using RGBCW order and some are using GBRCW, etc, etc. Example usage: KP18058_Map 0 1 2 3 4",
//cmddetail:"fn":"KP18058_Map","file":"driver/drv_kp18058.c","requires":"",
//cmddetail:"fn":"CMD_LEDDriver_Map","file":"driver/drv_kp18058.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("KP18058_Map", CMD_LEDDriver_Map, NULL);
//cmddetail:{"name":"KP18058_Current","args":"[RGBLimit][CWLimit]",

View File

@ -329,25 +329,25 @@ void LEDS_InitShared(ledStrip_t *api) {
//cmddetail:{"name":"SM16703P_Init","args":"[NumberOfLEDs][ColorOrder]",
//cmddetail:"descr":"This will setup LED driver for a strip with given number of LEDs. Please note that it also works for WS2812B and similiar LEDs. You can optionally set the color order with can be any combination of R, G, B, C and W (e.g. RGBW or GRBWC, default is RGB). See [tutorial](https://www.elektroda.com/rtvforum/topic4036716.html).",
//cmddetail:"fn":"NULL);","file":"driver/drv_sm16703P.c","requires":"",
//cmddetail:"fn":"SM16703P_InitForLEDCount","file":"driver/drv_leds_shared.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SM16703P_Init", Strip_CMD_InitForLEDCount, NULL);
CMD_CreateAliasHelper("Strip_Init","SM16703P_Init");
//cmddetail:{"name":"SM16703P_Start","args":"",
//cmddetail:"descr":"This will send the currently set data to the strip. Please note that it also works for WS2812B and similiar LEDs. See [tutorial](https://www.elektroda.com/rtvforum/topic4036716.html).",
//cmddetail:"fn":"NULL);","file":"driver/drv_sm16703P.c","requires":"",
//cmddetail:"fn":"SM16703P_StartTX","file":"driver/drv_leds_shared.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SM16703P_Start", Strip_CMD_StartTX, NULL);
CMD_CreateAliasHelper("Strip_Start", "SM16703P_Start");
//cmddetail:{"name":"SM16703P_SetPixel","args":"[index/all] [R] [G] [B]",
//cmddetail:"descr":"Sets a pixel for LED strip. Index can be a number or 'all' keyword to set all. Then, 3 integer values for R, G and B. Please note that it also works for WS2812B and similiar LEDs. See [tutorial](https://www.elektroda.com/rtvforum/topic4036716.html).",
//cmddetail:"fn":"NULL);","file":"driver/drv_sm16703P.c","requires":"",
//cmddetail:"fn":"SM16703P_CMD_setPixel","file":"driver/drv_leds_shared.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SM16703P_SetPixel", Strip_CMD_setPixel, NULL);
CMD_CreateAliasHelper("Strip_SetPixel", "SM16703P_SetPixel");
//cmddetail:{"name":"SM16703P_SetRaw","args":"[bUpdate] [byteOfs] [HexData]",
//cmddetail:"descr":"Sets the raw data bytes for SPI DMA LED driver at the given offset. Hex data should be as a hex string, for example, FF00AA, etc. The bUpdate, if set to 1, will run SM16703P_Start automatically after setting data. Please note that it also works for WS2812B and similiar LEDs. See [tutorial](https://www.elektroda.com/rtvforum/topic4036716.html).",
//cmddetail:"fn":"NULL);","file":"driver/drv_sm16703P.c","requires":"",
//cmddetail:"fn":"SM16703P_CMD_setRaw","file":"driver/drv_leds_shared.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SM16703P_SetRaw", Strip_CMD_setRaw, NULL);
CMD_CreateAliasHelper("Strip_SetRaw", "SM16703P_SetRaw");

View File

@ -61,7 +61,7 @@ static driver_t g_drivers[] = {
{ "DMX", DMX_Init, DMX_OnEverySecond, NULL, NULL, DMX_Shutdown, NULL , NULL, false },
#endif
#if ENABLE_DRIVER_FREEZE
//drvdetail:{"name":"FREEZE",
//drvdetail:{"name":"Freeze",
//drvdetail:"title":"TODO",
//drvdetail:"descr":"Freeze is a test driver for watchdog. Enabling this will freeze device main loop.",
//drvdetail:"requires":""}
@ -102,9 +102,6 @@ static driver_t g_drivers[] = {
//drvdetail:"requires":""}
{ "HGS02", HGS02_Init, HGS02_RunEverySecond, NULL, NULL, NULL, NULL, NULL, false },
#endif
#if ENABLE_DRIVER_PINMUTEX
//drvdetail:{"name":"PinMutex",
//drvdetail:"title":"TODO",
@ -112,16 +109,18 @@ static driver_t g_drivers[] = {
//drvdetail:"requires":""}
{ "PinMutex", DRV_PinMutex_Init, NULL, NULL, DRV_PinMutex_RunFrame, NULL, NULL, false },
#endif
#if ENABLE_DRIVER_GOSUNDSW2
//drvdetail:{"name":"GosundSW",
//drvdetail:{"name":"GosundSW2",
//drvdetail:"title":"TODO",
//drvdetail:"descr":"GosundSW2.",
//drvdetail:"descr":"GosundSW2",
//drvdetail:"requires":""}
{ "GosundSW2", DRV_GosundSW2_Init, NULL, NULL, DRV_GosundSW2_RunFrame, NULL, NULL, false },
#endif
#if ENABLE_DRIVER_TCL
//drvdetail:{"name":"TCL",
//drvdetail:"title":"TCL",
//drvdetail:"descr":"Driver for TCL-based air conditioners",
//drvdetail:"requires":""}
{ "TCL", TCL_Init, TCL_UART_RunEverySecond, TCL_AppendInformationToHTTPIndexPage, NULL, NULL, NULL, TCL_DoDiscovery, false },
#endif
@ -245,6 +244,10 @@ static driver_t g_drivers[] = {
{ "BL0937", BL0937_Init, BL0937_RunEverySecond, BL09XX_AppendInformationToHTTPIndexPage, NULL, NULL, NULL, NULL, false },
#endif
#if ENABLE_DRIVER_CSE7761
//drvdetail:{"name":"CSE7761",
//drvdetail:"title":"CSE7761",
//drvdetail:"descr":"Unfinished driver for CSE7761, a single-phase multi-purpose electric energy metering chip that incorporates three sigma delta ADCs, a power calculator, an energy frequency converter, one SPI interface, and one UART interface",
//drvdetail:"requires":""}
{ "CSE7761", CSE7761_Init, CSE7761_RunEverySecond, BL09XX_AppendInformationToHTTPIndexPage, NULL, NULL, NULL, NULL, false },
#endif
#if ENABLE_DRIVER_CSE7766
@ -296,8 +299,6 @@ static driver_t g_drivers[] = {
//drvdetail:"requires":""}
{ "SM15155E", SM15155E_Init, NULL, NULL, NULL, NULL, NULL, NULL, false },
#endif
#if ENABLE_DRIVER_IRREMOTEESP
//drvdetail:{"name":"IR",
//drvdetail:"title":"TODO",
@ -313,6 +314,10 @@ static driver_t g_drivers[] = {
{ "IR", DRV_IR_Init, NULL, NULL, DRV_IR_RunFrame, NULL, NULL, NULL, false },
#endif
#if ENABLE_DRIVER_IR2
//drvdetail:{"name":"IR2",
//drvdetail:"title":"TODO",
//drvdetail:"descr":"simple IR2 driver for sending captures from flipper zero",
//drvdetail:"requires":""}
{ "IR2", DRV_IR2_Init, NULL, NULL, NULL, NULL, NULL, NULL, false },
#endif
@ -406,7 +411,6 @@ static driver_t g_drivers[] = {
//drvdetail:"requires":""}
{ "SM2235", SM2235_Init, NULL, NULL, NULL, NULL, NULL, NULL, false },
#endif
#if ENABLE_DRIVER_BMP280
//drvdetail:{"name":"BMP280",
//drvdetail:"title":"TODO",
@ -543,14 +547,14 @@ static driver_t g_drivers[] = {
{ "Bridge", Bridge_driver_Init, NULL, NULL, Bridge_driver_QuickFrame, Bridge_driver_DeInit, Bridge_driver_OnChannelChanged, NULL, false }
#endif
#if ENABLE_DRIVER_UART_TCP
//drvdetail:{"name":"UART to TCP bridge",
//drvdetail:{"name":"UartTCP",
//drvdetail:"title":"TODO",
//drvdetail:"descr":"UART to TCP, mainly for WiFi Zigbee coordinators.",
//drvdetail:"descr":"UART to TCP bridge, mainly for WiFi Zigbee coordinators.",
//drvdetail:"requires":""}
{ "UartTCP", UART_TCP_Init, NULL, NULL, NULL, UART_TCP_Deinit, NULL, NULL, false }
#endif
#if PLATFORM_TXW81X
//drvdetail:{"name":"TXW81X Camera",
//drvdetail:{"name":"TXWCAM",
//drvdetail:"title":"TODO",
//drvdetail:"descr":"TXW81X Camera.",
//drvdetail:"requires":""}

View File

@ -432,17 +432,17 @@ void DRV_MAX72XX_Init() {
//cmddetail:{"name":"MAX72XX_Setup","args":"[Value]",
//cmddetail:"descr":"Sets the maximum current for LED driver.",
//cmddetail:"fn":"SM2135_Current","file":"driver/drv_sm2135.c","requires":"",
//cmddetail:"fn":"DRV_MAX72XX_Setup","file":"driver/drv_max72xx_single.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("MAX72XX_Setup", DRV_MAX72XX_Setup, NULL);
//cmddetail:{"name":"MAX72XX_Scroll","args":"DRV_MAX72XX_Scroll",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_max72xx_single.c","requires":"",
//cmddetail:"fn":"DRV_MAX72XX_Scroll","file":"driver/drv_max72xx_single.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("MAX72XX_Scroll", DRV_MAX72XX_Scroll, NULL);
//cmddetail:{"name":"MAX72XX_Print","args":"DRV_MAX72XX_Print",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_max72xx_single.c","requires":"",
//cmddetail:"fn":"DRV_MAX72XX_Print","file":"driver/drv_max72xx_single.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("MAX72XX_Print", DRV_MAX72XX_Print, NULL);
}

View File

@ -249,30 +249,30 @@ void MCP9808_Init() {
//cmddetail:{"name":"MCP9808_Adr","args":"[HexAdr]",
//cmddetail:"descr":"Sets the I2C address of MCP9808, like 0x30",
//cmddetail:"fn":"NULL);","file":"driver/drv_mcp9808.c","requires":"",
//cmddetail:"fn":"MCP9808_Adr","file":"driver/drv_mcp9808.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("MCP9808_Adr", MCP9808_Adr, NULL);
//cmddetail:{"name":"MCP9808_AlertRange","args":"[MinT] [MaxT] [OptionalBActiveHigh]",
//cmddetail:"descr":"Setup MCP9809 temperature alert for range mode",
//cmddetail:"fn":"NULL);","file":"driver/drv_mcp9808.c","requires":"",
//cmddetail:"fn":"MCP9808_AlertRange","file":"driver/drv_mcp9808.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("MCP9808_AlertRange", MCP9808_AlertRange, NULL);
//cmddetail:{"name":"MCP9808_AlertMin","args":"[MinT] [OptionalBActiveHigh]",
//cmddetail:"descr":"Setup MCP9809 temperature alert for min mode",
//cmddetail:"fn":");","file":"driver/drv_mcp9808.c","requires":"",
//cmddetail:"fn":"MCP9808_AlertMin","file":"driver/drv_mcp9808.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("MCP9808_AlertMin", MCP9808_AlertMin, NULL);
//cmddetail:{"name":"MCP9808_Calibrate","args":"[DeltaTemperature]",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_mcp9808.c","requires":"",
//cmddetail:"fn":"MCP9808_Calibrate","file":"driver/drv_mcp9808.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("MCP9808_Calibrate", MCP9808_Calibrate, NULL);
//cmddetail:{"name":"MCP9808_Cycle","args":"[DelayInSeconds]",
//cmddetail:"descr":"Sets MCP9808 measurement interval",
//cmddetail:"fn":"NULL);","file":"driver/drv_mcp9808.c","requires":"",
//cmddetail:"fn":"MCP9808_cycle","file":"driver/drv_mcp9808.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("MCP9808_Cycle", MCP9808_cycle, NULL);

View File

@ -521,7 +521,7 @@ void NTP_Init() {
NTP_Init_Events();
#endif
#if ENABLE_NTP_DST
//cmddetail:{"name":"CLOCK_CalcDST","args":"[nthWeekEnd monthEnd dayEnd hourEnd nthWeekStart monthStart dayStart hourStart [g_DSToffset hours - default is 1 if unset]",
//cmddetail:{"name":"clock_calcDST","args":"[nthWeekEnd monthEnd dayEnd hourEnd nthWeekStart monthStart dayStart hourStart [g_DSToffset hours - default is 1 if unset]",
//cmddetail:"descr":"Checks, if actual time is during DST or not.",
//cmddetail:"fn":"CLOCK_CalcDST","file":"driver/drv_ntp.c","requires":"",
//cmddetail:"examples":""}

View File

@ -281,17 +281,17 @@ owm_request
void DRV_OpenWeatherMap_Init() {
//cmddetail:{"name":"owm_setup","args":"[lat][lng][api_key]",
//cmddetail:"descr":"Setups OWM driver for your location and API key",
//cmddetail:"fn":"NULL);","file":"driver/drv_openWeatherMap.c","requires":"",
//cmddetail:"fn":"CMD_OWM_Setup","file":"driver/drv_openWeatherMap.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("owm_setup", CMD_OWM_Setup, NULL);
//cmddetail:{"name":"owm_request","args":"",
//cmddetail:"descr":"Sends OWM request to the API. Do not use it too often, as API may have limits",
//cmddetail:"fn":"NULL);","file":"driver/drv_openWeatherMap.c","requires":"",
//cmddetail:"fn":"CMD_OWM_Request","file":"driver/drv_openWeatherMap.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("owm_request", CMD_OWM_Request, NULL);
//cmddetail:{"name":"owm_channels","args":"[temperature][humidity][pressure]",
//cmddetail:"descr":"Sets channels that will be used to store OWM response results",
//cmddetail:"fn":"NULL);","file":"driver/drv_openWeatherMap.c","requires":"",
//cmddetail:"fn":"CMD_OWM_Channels","file":"driver/drv_openWeatherMap.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("owm_channels", CMD_OWM_Channels, NULL);

View File

@ -140,6 +140,10 @@ void DRV_PinMutex_Init() {
pms[i].pinUp = 0;
pms[i].pinDown = 0;
}
//cmddetail:{"name":"setMutex","args":"CMD_setMutex",
//cmddetail:"descr":"pinmutex driver (potentially for shutters)",
//cmddetail:"fn":"CMD_setMutex","file":"driver/drv_pinMutex.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("setMutex", CMD_setMutex, NULL);
}

View File

@ -297,12 +297,12 @@ void PixelAnim_Init() {
//cmddetail:{"name":"Anim","args":"[AnimationIndex]",
//cmddetail:"descr":"Starts given WS2812 animation by index.",
//cmddetail:"fn":"NULL);","file":"driver/drv_pixelAnim.c","requires":"",
//cmddetail:"fn":"PA_Cmd_Anim","file":"driver/drv_pixelAnim.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("Anim", PA_Cmd_Anim, NULL);
//cmddetail:{"name":"AnimSpeed","args":"[Interval]",
//cmddetail:"descr":"Sets WS2812 animation speed",
//cmddetail:"fn":"NULL);","file":"driver/drv_pixelAnim.c","requires":"",
//cmddetail:"fn":"PA_Cmd_AnimSpeed","file":"driver/drv_pixelAnim.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("AnimSpeed", PA_Cmd_AnimSpeed, NULL);
}

View File

@ -97,12 +97,12 @@ void PWMG_Init() {
//cmddetail:{"name":"PWMG_Raw","args":"",
//cmddetail:"descr":"PWM grouping (synchronous PWM)",
//cmddetail:"fn":"NULL);","file":"driver/drv_pwm_groups.c","requires":"",
//cmddetail:"fn":"CMD_PWMG_Raw","file":"driver/drv_pwm_groups.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("PWMG_Raw", CMD_PWMG_Raw, NULL);
//cmddetail:{"name":"PWMG_Set","args":"Duty1Percent Duty2Percent DeadTimePercent Frequency PinA PinB",
//cmddetail:"descr":"PWM grouping (synchronous PWM)",
//cmddetail:"fn":"NULL);","file":"driver/drv_pwm_groups.c","requires":"",
//cmddetail:"fn":"CMD_PWMG_Set","file":"driver/drv_pwm_groups.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("PWMG_Set", CMD_PWMG_Set, NULL);
}

View File

@ -87,17 +87,17 @@ void PwrCal_Init(pwr_cal_type_t type, float default_voltage_cal,
//cmddetail:{"name":"VoltageSet","args":"Voltage",
//cmddetail:"descr":"Measure the real voltage with an external, reliable power meter and enter this voltage via this command to calibrate. The calibration is automatically saved in the flash memory.",
//cmddetail:"fn":"NULL);","file":"driver/drv_pwrCal.c","requires":"",
//cmddetail:"fn":"CalibrateVoltage","file":"driver/drv_pwrCal.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("VoltageSet", CalibrateVoltage, NULL);
//cmddetail:{"name":"CurrentSet","args":"Current",
//cmddetail:"descr":"Measure the real Current with an external, reliable power meter and enter this Current via this command to calibrate. The calibration is automatically saved in the flash memory.",
//cmddetail:"fn":"NULL);","file":"driver/drv_pwrCal.c","requires":"",
//cmddetail:"fn":"CalibrateCurrent","file":"driver/drv_pwrCal.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("CurrentSet", CalibrateCurrent, NULL);
//cmddetail:{"name":"PowerSet","args":"Power",
//cmddetail:"descr":"Measure the real Power with an external, reliable power meter and enter this Power via this command to calibrate. The calibration is automatically saved in the flash memory.",
//cmddetail:"fn":"NULL);","file":"driver/drv_pwrCal.c","requires":"",
//cmddetail:"fn":"CalibratePower","file":"driver/drv_pwrCal.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("PowerSet", CalibratePower, NULL);
}

View File

@ -221,22 +221,22 @@ void SGP_Init() {
//cmddetail:{"name":"SGP_cycle","args":"[int]",
//cmddetail:"descr":"change cycle of measurement by default every 10 seconds 0 to deactivate",
//cmddetail:"fn":"SGP_cycle","file":"drv/drv_sgp.c","requires":"",
//cmddetail:"fn":"SGP_cycle","file":"driver/drv_sgp.c","requires":"",
//cmddetail:"examples":"SGP_Cycle 60"}
CMD_RegisterCommand("SGP_cycle", SGP_cycle, NULL);
//cmddetail:{"name":"SGP_GetVersion","args":"",
//cmddetail:"descr":"SGP : get version",
//cmddetail:"fn":"SGP_GetVersion","file":"drv/drv_sgp.c","requires":"",
//cmddetail:"fn":"SGP_GetVersioncmd","file":"driver/drv_sgp.c","requires":"",
//cmddetail:"examples":"SGP_GetVersion"}
CMD_RegisterCommand("SGP_GetVersion", SGP_GetVersioncmd, NULL);
//cmddetail:{"name":"SGP_GetBaseline","args":"",
//cmddetail:"descr":"SGP Get baseline",
//cmddetail:"fn":"SGP_GetBaseline","file":"drv/drv_sgp.c","requires":"",
//cmddetail:"fn":"SGP_GetBaselinecmd","file":"driver/drv_sgp.c","requires":"",
//cmddetail:"examples":"SGP_GetBaseline"}
CMD_RegisterCommand("SGP_GetBaseline", SGP_GetBaselinecmd, NULL);
//cmddetail:{"name":"SGP_SoftReset","args":"",
//cmddetail:"descr":"SGP i2C soft reset",
//cmddetail:"fn":"SGP_SoftReset","file":"drv/drv_sgp.c","requires":"",
//cmddetail:"fn":"SGP_SoftResetcmd","file":"driver/drv_sgp.c","requires":"",
//cmddetail:"examples":"SGP_SoftReset"}
CMD_RegisterCommand("SGP_SoftReset", SGP_SoftResetcmd, NULL);
}

View File

@ -444,7 +444,7 @@ void SHT3X_Init() {
//cmddetail:{"name":"SHT_cycle","args":"[int]",
//cmddetail:"descr":"This is the interval between measurements in seconds, by default 10. Max is 255.",
//cmddetail:"fn":"SHT_cycle","file":"drv/drv_sht3x.c","requires":"",
//cmddetail:"fn":"SHT_cycle","file":"driver/drv_sht3x.c","requires":"",
//cmddetail:"examples":"SHT_Cycle 60"}
CMD_RegisterCommand("SHT_cycle", SHT_cycle, NULL);
//cmddetail:{"name":"SHT_Calibrate","args":"[DeltaTemp][DeltaHumidity]",
@ -479,22 +479,22 @@ void SHT3X_Init() {
CMD_RegisterCommand("SHT_Heater", SHT3X_Heater, NULL);
//cmddetail:{"name":"SHT_GetStatus","args":"",
//cmddetail:"descr":"Get Sensor Status",
//cmddetail:"fn":"SHT3X_GetStatus","file":"driver/drv_sht3x.c","requires":"",
//cmddetail:"fn":"SHT3X_GetStatusCmd","file":"driver/drv_sht3x.c","requires":"",
//cmddetail:"examples":"SHT_GetStatusCmd"}
CMD_RegisterCommand("SHT_GetStatus", SHT3X_GetStatusCmd, NULL);
//cmddetail:{"name":"SHT_ClearStatus","args":"",
//cmddetail:"descr":"Clear Sensor Status",
//cmddetail:"fn":"SHT3X_ClearStatus","file":"driver/drv_sht3x.c","requires":"",
//cmddetail:"fn":"SHT3X_ClearStatusCmd","file":"driver/drv_sht3x.c","requires":"",
//cmddetail:"examples":"SHT_ClearStatusCmd"}
CMD_RegisterCommand("SHT_ClearStatus", SHT3X_ClearStatusCmd, NULL);
//cmddetail:{"name":"SHT_ReadAlert","args":"",
//cmddetail:"descr":"Get Sensor alert configuration",
//cmddetail:"fn":"SHT3X_ReadAlertcmd","file":"driver/drv_sht3x.c","requires":"",
//cmddetail:"fn":"SHT3X_ReadAlertCmd","file":"driver/drv_sht3x.c","requires":"",
//cmddetail:"examples":"SHT_ReadAlertCmd"}
CMD_RegisterCommand("SHT_ReadAlert", SHT3X_ReadAlertCmd, NULL);
//cmddetail:{"name":"SHT_SetAlert","args":"[temp_high, temp_low, hum_high, hum_low]",
//cmddetail:"descr":"Set Sensor alert configuration",
//cmddetail:"fn":"SHT3X_SetAlertcmd","file":"driver/drv_sht3x.c","requires":"all",
//cmddetail:"fn":"SHT3X_SetAlertCmd","file":"driver/drv_sht3x.c","requires":"all",
//cmddetail:"examples":"SHT_SetAlertCmd"}
CMD_RegisterCommand("SHT_SetAlert", SHT3X_SetAlertCmd, NULL);
}

View File

@ -54,7 +54,7 @@ void SM15155E_Write(float *rgbcw) {
void SM15155E_Init() {
//cmddetail:{"name":"LED_Map","args":"[Ch0][Ch1][Ch2][Ch3][Ch4]",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_sm15155e.c","requires":"",
//cmddetail:"fn":"CMD_LEDDriver_Map","file":"driver/drv_sm15155e.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("LED_Map", CMD_LEDDriver_Map, NULL);

View File

@ -176,12 +176,12 @@ void SM2135_Init() {
//cmddetail:{"name":"SM2135_RGBCW","args":"[HexColor]",
//cmddetail:"descr":"Don't use it. It's for direct access of SM2135 driver. You don't need it because LED driver automatically calls it, so just use led_basecolor_rgb",
//cmddetail:"fn":"SM2135_RGBCW","file":"driver/drv_sm2135.c","requires":"",
//cmddetail:"fn":"CMD_LEDDriver_WriteRGBCW","file":"driver/drv_sm2135.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SM2135_RGBCW", CMD_LEDDriver_WriteRGBCW, NULL);
//cmddetail:{"name":"SM2135_Map","args":"[Ch0][Ch1][Ch2][Ch3][Ch4]",
//cmddetail:"descr":"Maps the RGBCW values to given indices of SM2135 channels. This is because SM2135 channels order is not the same for some devices. Some devices are using RGBCW order and some are using GBRCW, etc, etc. Example usage: SM2135_Map 0 1 2 3 4",
//cmddetail:"fn":"SM2135_Map","file":"driver/drv_sm2135.c","requires":"",
//cmddetail:"fn":"CMD_LEDDriver_Map","file":"driver/drv_sm2135.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SM2135_Map", CMD_LEDDriver_Map, NULL);
//cmddetail:{"name":"SM2135_Current","args":"[RGBLimit][CWLimit]",

View File

@ -98,12 +98,12 @@ void SM2235_Init() {
//cmddetail:{"name":"SM2235_RGBCW","args":"[HexColor]",
//cmddetail:"descr":"Don't use it. It's for direct access of SM2235 driver. You don't need it because LED driver automatically calls it, so just use led_basecolor_rgb",
//cmddetail:"fn":"SM2235_RGBCW","file":"driver/drv_sm2235.c","requires":"",
//cmddetail:"fn":"CMD_LEDDriver_WriteRGBCW","file":"driver/drv_sm2235.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SM2235_RGBCW", CMD_LEDDriver_WriteRGBCW, NULL);
//cmddetail:{"name":"SM2235_Map","args":"[Ch0][Ch1][Ch2][Ch3][Ch4]",
//cmddetail:"descr":"Maps the RGBCW values to given indices of SM2235 channels. This is because SM2235 channels order is not the same for some devices. Some devices are using RGBCW order and some are using GBRCW, etc, etc. Example usage: SM2235_Map 0 1 2 3 4",
//cmddetail:"fn":"SM2235_Map","file":"driver/drv_sm2235.c","requires":"",
//cmddetail:"fn":"CMD_LEDDriver_Map","file":"driver/drv_sm2235.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SM2235_Map", CMD_LEDDriver_Map, NULL);
//cmddetail:{"name":"SM2235_Current","args":"[Value]",

View File

@ -494,19 +494,19 @@ void DRV_InitFlashMemoryTestFunctions() {
//cmddetail:{"name":"SPITestFlash_ReadID","args":"CMD_SPITestFlash_ReadID",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_SPITestFlash_ReadID","file":"driver/drv_spi_flash.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SPITestFlash_ReadID", CMD_SPITestFlash_ReadID, NULL);
//cmddetail:{"name":"SPITestFlash_WriteStr","args":"CMD_SPITestFlash_WriteStr",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_spi_flash.c","requires":"",
//cmddetail:"fn":"CMD_SPITestFlash_WriteStr","file":"driver/drv_spi_flash.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SPITestFlash_WriteStr", CMD_SPITestFlash_WriteStr, NULL);
//cmddetail:{"name":"SPITestFlash_Erase","args":"CMD_SPITestFlash_Erase",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_spi_flash.c","requires":"",
//cmddetail:"fn":"CMD_SPITestFlash_Erase","file":"driver/drv_spi_flash.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SPITestFlash_Erase", CMD_SPITestFlash_Erase, NULL);
@ -518,10 +518,14 @@ void DRV_InitFlashMemoryTestFunctions() {
//cmddetail:{"name":"SPITestFlash_ReadData","args":"CMD_SPITestFlash_ReadData",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_SPITestFlash_ReadData","file":"driver/drv_spi_flash.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SPITestFlash_ReadData", CMD_SPITestFlash_ReadData, NULL);
//cmddetail:{"name":"SPITestFlash_Test","args":"CMD_SPITestFlash_TestPages",
//cmddetail:"descr":"TODO",
//cmddetail:"fn":"CMD_SPITestFlash_TestPages","file":"driver/drv_spi_flash.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SPITestFlash_Test", CMD_SPITestFlash_TestPages, NULL);
/*

View File

@ -735,37 +735,37 @@ void TCL_Init(void) {
//cmddetail:{"name":"ACMode","args":"CMD_ACMode",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_tclAC.c","requires":"",
//cmddetail:"fn":"CMD_ACMode","file":"driver/drv_tclAC.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("ACMode", CMD_ACMode, NULL);
//cmddetail:{"name":"FANMode","args":"CMD_FANMode",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_tclAC.c","requires":"",
//cmddetail:"fn":"CMD_FANMode","file":"driver/drv_tclAC.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("FANMode", CMD_FANMode, NULL);
//cmddetail:{"name":"SwingH","args":"CMD_SwingH",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_tclAC.c","requires":"",
//cmddetail:"fn":"CMD_SwingH","file":"driver/drv_tclAC.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SwingH", CMD_SwingH, NULL);
//cmddetail:{"name":"SwingV","args":"CMD_SwingV",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_tclAC.c","requires":"",
//cmddetail:"fn":"CMD_SwingV","file":"driver/drv_tclAC.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SwingV", CMD_SwingV, NULL);
//cmddetail:{"name":"TargetTemperature","args":"CMD_TargetTemperature",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_tclAC.c","requires":"",
//cmddetail:"fn":"CMD_TargetTemperature","file":"driver/drv_tclAC.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TargetTemperature", CMD_TargetTemperature, NULL);
//cmddetail:{"name":"Buzzer","args":"CMD_Buzzer",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_tclAC.c","requires":"",
//cmddetail:"fn":"CMD_Buzzer","file":"driver/drv_tclAC.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("Buzzer", CMD_Buzzer, NULL);
//cmddetail:{"name":"Display","args":"CMD_Display",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_tclAC.c","requires":"",
//cmddetail:"fn":"CMD_Display","file":"driver/drv_tclAC.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("Display", CMD_Display, NULL);
}

View File

@ -81,7 +81,7 @@ void Test_AppendInformationToHTTPIndexPage(http_request_t *request)
void Test_Init(void) {
//cmddetail:{"name":"StartTest","args":"Test_Cmd_Start",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_test.c","requires":"",
//cmddetail:"fn":"Test_Cmd_Start","file":"driver/drv_test.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("StartTest", Test_Cmd_Start, NULL);

View File

@ -117,12 +117,12 @@ void TS_Init() {
//cmddetail:{"name":"TS_Clear","args":"",
//cmddetail:"descr":"Clears the text scroller buffer",
//cmddetail:"fn":"NULL);","file":"driver/drv_textScroller.c","requires":"",
//cmddetail:"fn":"CMD_TS_Clear","file":"driver/drv_textScroller.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TS_Clear", CMD_TS_Clear, NULL);
//cmddetail:{"name":"TS_Print","args":"[StartOfs] [MaxLenOr0] [StringText] [optionalBClampWithZeroesForClock]",
//cmddetail:"descr":"Prints a text to the text scroller buffer",
//cmddetail:"fn":"NULL);","file":"driver/drv_textScroller.c","requires":"",
//cmddetail:"fn":"CMD_TS_Print","file":"driver/drv_textScroller.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TS_Print", CMD_TS_Print, NULL);
}

View File

@ -670,52 +670,52 @@ void TM_GN_Display_SharedInit(tmGnType_t type) {
//cmddetail:{"name":"TMGN_SetBit","args":"[CharIndex] [BitIndex] [BitValue]",
//cmddetail:"descr":"Set given bit of given digit to 1 or 0.",
//cmddetail:"fn":"NULL);","file":"driver/drv_tm1637.c","requires":"",
//cmddetail:"fn":"CMD_TMGN_SetBit","file":"driver/drv_tm_gn_display_shared.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TMGN_SetBit", CMD_TMGN_SetBit, NULL);
//cmddetail:{"name":"TMGN_Clear","args":"",
//cmddetail:"descr":"This clears the TM1637/GN932/etc display",
//cmddetail:"fn":"NULL);","file":"driver/drv_tm_gn_display_shared.c","requires":"",
//cmddetail:"fn":"CMD_TMGN_Clear","file":"driver/drv_tm_gn_display_shared.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TMGN_Clear", CMD_TMGN_Clear, NULL);
//cmddetail:{"name":"TMGN_Char","args":"[CharIndex] [CharCode]",
//cmddetail:"descr":"This allows you to set binary code for given char, valid chars range is 0 to 15, because this is 7-seg display",
//cmddetail:"fn":"NULL);","file":"driver/drv_tm1637.c","requires":"",
//cmddetail:"fn":"CMD_TMGN_Char","file":"driver/drv_tm_gn_display_shared.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TMGN_Char", CMD_TMGN_Char, NULL);
//cmddetail:{"name":"TMGN_Print","args":"[StartOfs] [MaxLenOr0] [StringText] [optionalBClampWithZeroesForClock]",
//cmddetail:"descr":"This allows you to print string on TM1637/GN932/etc display, it supports variables expansion",
//cmddetail:"fn":"NULL);","file":"driver/drv_tm_gn_display_shared.c","requires":"",
//cmddetail:"fn":"CMD_TMGN_Print","file":"driver/drv_tm_gn_display_shared.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TMGN_Print", CMD_TMGN_Print, NULL);
//cmddetail:{"name":"TMGN_Test","args":"",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_tm_gn_display_shared.c","requires":"",
//cmddetail:"fn":"CMD_TMGN_Test","file":"driver/drv_tm_gn_display_shared.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TMGN_Test", CMD_TMGN_Test, NULL);
//cmddetail:{"name":"TMGN_Brightness","args":"[Brigthness0to7][bOn]",
//cmddetail:"descr":"This allows you to change brightness and state of TM1637/GN932/etc display",
//cmddetail:"fn":"NULL);","file":"driver/drv_tm_gn_display_shared.c","requires":"",
//cmddetail:"fn":"CMD_TMGN_Brightness","file":"driver/drv_tm_gn_display_shared.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TMGN_Brightness", CMD_TMGN_Brightness, NULL);
//cmddetail:{"name":"TMGN_Map","args":"[Map0][Map1, etc]",
//cmddetail:"descr":"This allows you to remap characters order for TM1637/GN932/etc. My TM1637 module from Aliexpress has a strange characters order.",
//cmddetail:"fn":"NULL);","file":"driver/drv_tm_gn_display_shared.c","requires":"",
//cmddetail:"fn":"CMD_TMGN_Map","file":"driver/drv_tm_gn_display_shared.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TMGN_Map", CMD_TMGN_Map, NULL);
//cmddetail:{"name":"TM1650_Test","args":"CMD_TM1650_Test",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_tm1637.c","requires":"",
//cmddetail:"fn":"CMD_TM1650_Test","file":"driver/drv_tm_gn_display_shared.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TM1650_Test", CMD_TM1650_Test, NULL);
//cmddetail:{"name":"TMGN_Read","args":"",
//cmddetail:"descr":"Executes a single buttons read on TM/GN LED driver",
//cmddetail:"fn":"NULL);","file":"driver/drv_tm1637.c","requires":"",
//cmddetail:"fn":"CMD_TMGN_Read","file":"driver/drv_tm_gn_display_shared.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TMGN_Read", CMD_TMGN_Read, NULL);
//cmddetail:{"name":"TMGN_SetupButtons","args":"[Interval]",
//cmddetail:"descr":"Setups periodic buttons read on TM/GN LED driver",
//cmddetail:"fn":"NULL);","file":"driver/drv_tm1637.c","requires":"",
//cmddetail:"fn":"CMD_TMGN_SetupButtons","file":"driver/drv_tm_gn_display_shared.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("TMGN_SetupButtons", CMD_TMGN_SetupButtons, NULL);

View File

@ -2681,7 +2681,7 @@ void TuyaMCU_Init()
CMD_RegisterCommand("tuyaMcu_sendMCUConf", TuyaMCU_SendMCUConf, NULL);
//cmddetail:{"name":"tuyaMcu_sendCmd","args":"[CommandIndex] [HexPayloadNBytes]",
//cmddetail:"descr":"This will automatically calculate TuyaMCU checksum and length for given command ID and payload, then it will send a command. It's better to use it than uartSendHex",
//cmddetail:"fn":"NULL);","file":"driver/drv_tuyaMCU.c","requires":"",
//cmddetail:"fn":"TuyaMCU_SendUserCmd","file":"driver/drv_tuyaMCU.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("tuyaMcu_sendCmd", TuyaMCU_SendUserCmd, NULL);
//cmddetail:{"name":"fakeTuyaPacket","args":"[HexString]",
@ -2701,25 +2701,25 @@ void TuyaMCU_Init()
CMD_RegisterCommand("tuyaMcu_sendRSSI", Cmd_TuyaMCU_Send_RSSI, NULL);
//cmddetail:{"name":"tuyaMcu_defWiFiState","args":"",
//cmddetail:"descr":"Command sets the default WiFi state for TuyaMCU when device is not online. It may be required for some devices to work, because Tuya designs them to ignore touch buttons or beep when not paired. Please see [values table and description here](https://www.elektroda.com/rtvforum/viewtopic.php?p=20483899#20483899).",
//cmddetail:"fn":"Cmd_TuyaMCU_Send_RSSI","file":"driver/drv_tuyaMCU.c","requires":"",
//cmddetail:"fn":"Cmd_TuyaMCU_Set_DefaultWiFiState","file":"driver/drv_tuyaMCU.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("tuyaMcu_defWiFiState", Cmd_TuyaMCU_Set_DefaultWiFiState, NULL);
//cmddetail:{"name":"tuyaMcu_sendColor","args":"[dpID] [red01] [green01] [blue01] [tuyaRGBformat]",
//cmddetail:"descr":"This sends a TuyaMCU color string of given format for given RGB values, where each value is in [0,1] range as float",
//cmddetail:"fn":"NULL);","file":"driver/drv_tuyaMCU.c","requires":"",
//cmddetail:"fn":"Cmd_TuyaMCU_SendColor","file":"driver/drv_tuyaMCU.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("tuyaMcu_sendColor", Cmd_TuyaMCU_SendColor, NULL);
//cmddetail:{"name":"tuyaMcu_setupLED","args":"[dpIDColor] [TasFormat] [dpIDPower]",
//cmddetail:"descr":"Setups the TuyaMCU LED driver for given color dpID and power dpID. Also allows you to choose color format.",
//cmddetail:"fn":"NULL);","file":"driver/drv_tuyaMCU.c","requires":"",
//cmddetail:"fn":"Cmd_TuyaMCU_SetupLED","file":"driver/drv_tuyaMCU.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("tuyaMcu_setupLED", Cmd_TuyaMCU_SetupLED, NULL);
//cmddetail:{"name":"Cmd_TuyaMCU_SetBatteryAckDelay","args":"[ackDelay]",
//cmddetail:{"name":"tuyaMcu_setBatteryAckDelay","args":"[ackDelay]",
//cmddetail:"descr":"Defines the delay before the ACK is sent to TuyaMCU sending the device to sleep. Default value is 0 seconds.",
//cmddetail:"fn":"NULL);","file":"driver/drv_tuyaMCU.c","requires":"",
//cmddetail:"fn":"Cmd_TuyaMCU_SetBatteryAckDelay","file":"driver/drv_tuyaMCU.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("tuyaMcu_setBatteryAckDelay", Cmd_TuyaMCU_SetBatteryAckDelay, NULL);

View File

@ -93,7 +93,7 @@ void TXW_Cam_Init(void)
//cmddetail:{"name":"CAM_Show_Timestamp","args":"CMD_ShowTimestamp",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_txw81x_camera.c","requires":"NTP",
//cmddetail:"fn":"CMD_ShowTimestamp","file":"driver/drv_txw81x_camera.c","requires":"NTP",
//cmddetail:"examples":"CAM_Show_Timestamp 1"}
CMD_RegisterCommand("CAM_Show_Timestamp", CMD_ShowTimestamp, NULL);
}

View File

@ -329,7 +329,7 @@ commandResult_t CMD_UART_Init(const void *context, const char *cmd, const char *
void UART_AddCommands() {
//cmddetail:{"name":"uartSendHex","args":"[HexString]",
//cmddetail:"descr":"Sends raw data by UART, can be used to send TuyaMCU data, but you must write whole packet with checksum yourself",
//cmddetail:"fn":"CMD_UART_Send_Hex","file":"driver/drv_tuyaMCU.c","requires":"",
//cmddetail:"fn":"CMD_UART_Send_Hex","file":"driver/drv_uart.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("uartSendHex", CMD_UART_Send_Hex, NULL);
//cmddetail:{"name":"uartSendASCII","args":"[AsciiString]",

View File

@ -123,13 +123,13 @@ void DRV_Widget_Init() {
//cmddetail:{"name":"widget_clearAll","args":"",
//cmddetail:"descr":"Removes all registered widgets",
//cmddetail:"fn":"NULL);","file":"driver/drv_widget.c","requires":"",
//cmddetail:"fn":"CMD_Widget_ClearAll","file":"driver/drv_widget.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("widget_clearAll", CMD_Widget_ClearAll, NULL);
//cmddetail:{"name":"widget_create","args":"[LocationIndex][bAllowCache][FileName]",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"driver/drv_widget.c","requires":"",
//cmddetail:"fn":"CMD_Widget_Create","file":"driver/drv_widget.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("widget_create", CMD_Widget_Create, NULL);

View File

@ -123,7 +123,7 @@ void DRV_I2C_ADS1115_PreInit() {
//cmddetail:{"name":"addI2CDevice_ADS1115","args":"",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"i2c/drv_i2c_ads1115.c","requires":"",
//cmddetail:"fn":"DRV_I2C_AddDevice_ADS1115","file":"i2c/drv_i2c_ads1115.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("addI2CDevice_ADS1115", DRV_I2C_AddDevice_ADS1115, NULL);
}

View File

@ -512,7 +512,7 @@ void DRV_I2C_LCD_PCF8574_PreInit() {
//cmddetail:{"name":"addI2CDevice_LCD_PCF8574","args":"",
//cmddetail:"descr":"Adds a new I2C device - PCF8574",
//cmddetail:"fn":"DRV_I2C_AddDevice_PCF8574","file":"i2c/drv_i2c_main.c","requires":"",
//cmddetail:"fn":"DRV_I2C_AddDevice_PCF8574","file":"i2c/drv_i2c_lcd_pcf8574t.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("addI2CDevice_LCD_PCF8574", DRV_I2C_AddDevice_PCF8574, NULL);
}

View File

@ -32,7 +32,7 @@ commandResult_t DRV_I2C_AddDevice_LCM1602(const void *context, const char *cmd,
void DRV_I2C_LCM1602_PreInit() {
//cmddetail:{"name":"addI2CDevice_LCM1602","args":"",
//cmddetail:"descr":"Adds a new I2C device - LCM1602",
//cmddetail:"fn":"DRV_I2C_AddDevice_LCM1602","file":"i2c/drv_i2c_main.c","requires":"",
//cmddetail:"fn":"DRV_I2C_AddDevice_LCM1602","file":"i2c/drv_i2c_lcm1602.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("addI2CDevice_LCM1602", DRV_I2C_AddDevice_LCM1602, NULL);

View File

@ -244,7 +244,7 @@ void DRV_I2C_Init()
//cmddetail:{"name":"scanI2C","args":"[Soft/I2C1/I2C2]",
//cmddetail:"descr":"Scans given I2C line for addresses. I2C driver must be started first.",
//cmddetail:"fn":"DRV_I2C_MCP23017_MapPinToChannel","file":"i2c/drv_i2c_main.c","requires":"",
//cmddetail:"fn":"DRV_I2C_Scan","file":"i2c/drv_i2c_main.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("scanI2C", DRV_I2C_Scan, NULL);
}

View File

@ -228,12 +228,12 @@ void DRV_I2C_MCP23017_PreInit() {
//cmddetail:{"name":"MCP23017_MapPinToChannel","args":"",
//cmddetail:"descr":"Maps port expander bit to OBK channel",
//cmddetail:"fn":"DRV_I2C_MCP23017_MapPinToChannel","file":"i2c/drv_i2c_main.c","requires":"",
//cmddetail:"fn":"DRV_I2C_MCP23017_MapPinToChannel","file":"i2c/drv_i2c_mcp23017.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("MCP23017_MapPinToChannel", DRV_I2C_MCP23017_MapPinToChannel, NULL);
//cmddetail:{"name":"addI2CDevice_MCP23017","args":"",
//cmddetail:"descr":"Adds a new I2C device - MCP23017",
//cmddetail:"fn":"DRV_I2C_AddDevice_MCP23017","file":"i2c/drv_i2c_main.c","requires":"",
//cmddetail:"fn":"DRV_I2C_AddDevice_MCP23017","file":"i2c/drv_i2c_mcp23017.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("addI2CDevice_MCP23017", DRV_I2C_AddDevice_MCP23017, NULL);
}

View File

@ -100,7 +100,7 @@ void DRV_I2C_TC74_PreInit() {
//cmddetail:{"name":"addI2CDevice_TC74","args":"",
//cmddetail:"descr":"Adds a new I2C device - TC74",
//cmddetail:"fn":"DRV_I2C_AddDevice_TC74","file":"i2c/drv_i2c_main.c","requires":"",
//cmddetail:"fn":"DRV_I2C_AddDevice_TC74","file":"i2c/drv_i2c_tc74.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("addI2CDevice_TC74", DRV_I2C_AddDevice_TC74, NULL);

View File

@ -441,43 +441,43 @@ void LFSAddCmds(){
CMD_RegisterCommand("lfs_format", CMD_LFS_Format, NULL);
//cmddetail:{"name":"lfs_append","args":"[FileName][String]",
//cmddetail:"descr":"Appends a string to LFS file",
//cmddetail:"fn":"CMD_LFS_Append","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_LFS_Append","file":"littlefs/our_lfs.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("lfs_append", CMD_LFS_Append, NULL);
//cmddetail:{"name":"lfs_appendFloat","args":"[FileName][Float]",
//cmddetail:"descr":"Appends a float to LFS file",
//cmddetail:"fn":"CMD_LFS_AppendFloat","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_LFS_AppendFloat","file":"littlefs/our_lfs.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("lfs_appendFloat", CMD_LFS_AppendFloat, NULL);
//cmddetail:{"name":"lfs_appendInt","args":"[FileName][Int]",
//cmddetail:"descr":"Appends a Int to LFS file",
//cmddetail:"fn":"CMD_LFS_AppendInt","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_LFS_AppendInt","file":"littlefs/our_lfs.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("lfs_appendInt", CMD_LFS_AppendInt, NULL);
//cmddetail:{"name":"lfs_appendLine","args":"[FileName][String]",
//cmddetail:"descr":"Appends a string to LFS file with a next line marker",
//cmddetail:"fn":"CMD_LFS_AppendLine","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_LFS_AppendLine","file":"littlefs/our_lfs.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("lfs_appendLine", CMD_LFS_AppendLine, NULL);
//cmddetail:{"name":"lfs_remove","args":"[FileName]",
//cmddetail:"descr":"Deletes a LittleFS file",
//cmddetail:"fn":"CMD_LFS_Remove","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_LFS_Remove","file":"littlefs/our_lfs.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("lfs_remove", CMD_LFS_Remove, NULL);
//cmddetail:{"name":"lfs_write","args":"[FileName][String]",
//cmddetail:"descr":"Resets a LFS file and writes a new string to it",
//cmddetail:"fn":"CMD_LFS_Write","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_LFS_Write","file":"littlefs/our_lfs.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("lfs_write", CMD_LFS_Write, NULL);
//cmddetail:{"name":"lfs_writeLine","args":"[FileName][String]",
//cmddetail:"descr":"Resets a LFS file and writes a new string to it with newline",
//cmddetail:"fn":"CMD_LFS_WriteLine","file":"cmnds/cmd_main.c","requires":"",
//cmddetail:"fn":"CMD_LFS_WriteLine","file":"littlefs/our_lfs.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("lfs_writeLine", CMD_LFS_WriteLine, NULL);
//cmddetail:{"name":"lfs_mkdir","args":"CMD_LFS_MakeDirectory",
//cmddetail:"descr":"",
//cmddetail:"fn":"NULL);","file":"littlefs/our_lfs.c","requires":"",
//cmddetail:"fn":"CMD_LFS_MakeDirectory","file":"littlefs/our_lfs.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("lfs_mkdir", CMD_LFS_MakeDirectory, NULL);
}

View File

@ -1925,12 +1925,12 @@ void MQTT_init()
CMD_RegisterCommand("publish", MQTT_PublishCommand, NULL);
//cmddetail:{"name":"publishInt","args":"[Topic][Value][bOptionalSkipPrefixAndSuffix]",
//cmddetail:"descr":"Publishes data by MQTT. The final topic will be obk0696FB33/[Topic]/get, but you can also publish under raw topic, by adding third argument - '1'.. You can use argument expansion here, so $CH11 will change to value of the channel 11. This version of command publishes an integer, so you can also use math expressions like $CH10*10, etc.",
//cmddetail:"fn":"MQTT_PublishCommand","file":"mqtt/new_mqtt.c","requires":"",
//cmddetail:"fn":"MQTT_PublishCommandInteger","file":"mqtt/new_mqtt.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("publishInt", MQTT_PublishCommandInteger, NULL);
//cmddetail:{"name":"publishFloat","args":"[Topic][Value][bOptionalSkipPrefixAndSuffix]",
//cmddetail:"descr":"Publishes data by MQTT. The final topic will be obk0696FB33/[Topic]/get, but you can also publish under raw topic, by adding third argument - '1'.. You can use argument expansion here, so $CH11 will change to value of the channel 11. This version of command publishes an float, so you can also use math expressions like $CH10*0.0, etc.",
//cmddetail:"fn":"MQTT_PublishCommand","file":"mqtt/new_mqtt.c","requires":"",
//cmddetail:"fn":"MQTT_PublishCommandFloat","file":"mqtt/new_mqtt.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("publishFloat", MQTT_PublishCommandFloat, NULL);
//cmddetail:{"name":"publishAll","args":"",
@ -2702,4 +2702,4 @@ void mbedtls_dump_conf(mbedtls_ssl_config* conf, mbedtls_ssl_context* ssl) {
}
}
#endif //ALTCP_MBEDTLS_DEBUG
#endif //MQTT_USE_TLS
#endif //MQTT_USE_TLS

View File

@ -2734,7 +2734,7 @@ void PIN_AddCommands(void)
#ifdef ENABLE_BL_MOVINGAVG
//cmddetail:{"name":"setMovingAvg","args":"MovingAvg",
//cmddetail:"descr":"Moving average value for power and current. <=1 disable, >=2 count of avg values. The setting is temporary and need to be set at startup.",
//cmddetail:"fn":"NULL);","file":"new_pins.c","requires":"",
//cmddetail:"fn":"CMD_setMovingAvg","file":"new_pins.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("setMovingAvg", CMD_setMovingAvg, NULL);
#endif

View File

@ -486,49 +486,49 @@ typedef enum ioRole_e {
//iodetail:{"name":"ADC_Button",
//iodetail:"title":"TODO",
//iodetail:"descr":"Single ADC with multiple buttons connected.d",
//iodetail:"enum":"ADC_Button",
//iodetail:"enum":"IOR_ADC_Button",
//iodetail:"file":"new_pins.h",
//iodetail:"driver":""}
IOR_ADC_Button,
//iodetail:{"name":"GN6932_CLK",
//iodetail:"title":"TODO",
//iodetail:"descr":"QQQ",
//iodetail:"enum":"GN6932_CLK",
//iodetail:"descr":"GN6932 LED Display Driver - Clock pi",
//iodetail:"enum":"IOR_GN6932_CLK",
//iodetail:"file":"new_pins.h",
//iodetail:"driver":""}
IOR_GN6932_CLK,
//iodetail:{"name":"GN6932_DAT",
//iodetail:"title":"TODO",
//iodetail:"descr":"QQQ",
//iodetail:"enum":"GN6932_DAT",
//iodetail:"descr":"GN6932 LED Display Driver - Data pin",
//iodetail:"enum":"IOR_GN6932_DAT",
//iodetail:"file":"new_pins.h",
//iodetail:"driver":""}
IOR_GN6932_DAT,
//iodetail:{"name":"GN6932_STB",
//iodetail:"title":"TODO",
//iodetail:"descr":"QQQ",
//iodetail:"enum":"GN6932_STB",
//iodetail:"descr":"GN6932 LED Display Driver - STB pin (Latch Enable)",
//iodetail:"enum":"IOR_GN6932_STB",
//iodetail:"file":"new_pins.h",
//iodetail:"driver":""}
IOR_GN6932_STB,
//iodetail:{"name":"TM1638_CLK",
//iodetail:"title":"TODO",
//iodetail:"descr":"QQQ",
//iodetail:"enum":"TM1638_CLK",
//iodetail:"descr":"TM1638 8x7 Segment Display - Clock pin",
//iodetail:"enum":"IOR_TM1638_CLK",
//iodetail:"file":"new_pins.h",
//iodetail:"driver":""}
IOR_TM1638_CLK,
//iodetail:{"name":"TM1638_DAT",
//iodetail:"title":"TODO",
//iodetail:"descr":"QQQ",
//iodetail:"enum":"TM1638_DAT",
//iodetail:"descr":"TM1638 8x7 Segment Display - data pin",
//iodetail:"enum":"IOR_TM1638_DAT",
//iodetail:"file":"new_pins.h",
//iodetail:"driver":""}
IOR_TM1638_DAT,
//iodetail:{"name":"TM1638_STB",
//iodetail:"title":"TODO",
//iodetail:"descr":"QQQ",
//iodetail:"enum":"TM1638_STB",
//iodetail:"descr":"TM1638 8x7 Segment Display - STB pin",
//iodetail:"enum":"IOR_TM1638_STB",
//iodetail:"file":"new_pins.h",
//iodetail:"driver":""}
IOR_TM1638_STB,
@ -541,57 +541,57 @@ typedef enum ioRole_e {
IOR_BAT_Relay_n,
//iodetail:{"name":"KP18058_CLK",
//iodetail:"title":"TODO",
//iodetail:"descr":"QQQ",
//iodetail:"enum":"KP18058_CLK",
//iodetail:"descr":"KP18058 LED linear constant current dimming chip with I2C interface - CLK pin",
//iodetail:"enum":"IOR_KP18058_CLK",
//iodetail:"file":"new_pins.h",
//iodetail:"driver":""}
IOR_KP18058_CLK,
//iodetail:{"name":"KP18058_DAT",
//iodetail:"title":"TODO",
//iodetail:"descr":"QQQ",
//iodetail:"enum":"KP18058_DAT",
//iodetail:"descr":"KP18058 LED linear constant current dimming chip with I2C interface - DATA pin",
//iodetail:"enum":"IOR_KP18058_DAT",
//iodetail:"file":"new_pins.h",
//iodetail:"driver":""}
IOR_KP18058_DAT,
//iodetail:{"name":"DS1820",
//iodetail:{"name":"DS1820_IO",
//iodetail:"title":"TODO",
//iodetail:"descr":"vers simple OneWire Temp sensor DS1820",
//iodetail:"enum":"DS1820_IO",
//iodetail:"enum":"IOR_DS1820_IO",
//iodetail:"file":"new_pins.h",
//iodetail:"driver":""}
IOR_DS1820_IO,
//iodetail:{"name":"PWM_ScriptOnly",
//iodetail:"title":"TODO",
//iodetail:"descr":"",
//iodetail:"enum":"PWM_ScriptOnly",
//iodetail:"enum":"IOR_PWM_ScriptOnly",
//iodetail:"file":"new_pins.h",
//iodetail:"driver":""}
IOR_PWM_ScriptOnly,
//iodetail:{"name":"PWM_ScriptOnly_n",
//iodetail:"title":"TODO",
//iodetail:"descr":"",
//iodetail:"enum":"PWM_ScriptOnly_n",
//iodetail:"enum":"IOR_PWM_ScriptOnly_n",
//iodetail:"file":"new_pins.h",
//iodetail:"driver":""}
IOR_PWM_ScriptOnly_n,
//iodetail:{"name":"IOR_Counter_f",
//iodetail:{"name":"Counter_f",
//iodetail:"title":"TODO",
//iodetail:"descr":"",
//iodetail:"enum":"Counter_f",
//iodetail:"enum":"IOR_Counter_f",
//iodetail:"file":"new_pins.h",
//iodetail:"driver":""}
IOR_Counter_f,
//iodetail:{"name":"IOR_Counter_r",
//iodetail:{"name":"Counter_r",
//iodetail:"title":"TODO",
//iodetail:"descr":"",
//iodetail:"enum":"Counter_r",
//iodetail:"enum":"IOR_Counter_r",
//iodetail:"file":"new_pins.h",
//iodetail:"driver":""}
IOR_Counter_r,
//iodetail:{"name":"IRRecv_nPup",
//iodetail:"title":"TODO",
//iodetail:"descr":"IRRecv without pull-up",
//iodetail:"enum":"IRRecv_nPup",
//iodetail:"enum":"IOR_IRRecv_nPup",
//iodetail:"file":"new_pins.h",
//iodetail:"driver":""}
IOR_IRRecv_nPup,
@ -934,7 +934,7 @@ typedef enum channelType_e {
//chandetail:{"name":"Pressure_div100",
//chandetail:"title":"TODO",
//chandetail:"descr":"Pressure in hPa, but divided by 100",
//chandetail:"enum":"Pressure_div100",
//chandetail:"enum":"ChType_Pressure_div100",
//chandetail:"file":"new_pins.h",
//chandetail:"driver":""}
ChType_Pressure_div100,
@ -962,7 +962,7 @@ typedef enum channelType_e {
//chandetail:{"name":"Motion",
//chandetail:"title":"TODO",
//chandetail:"descr":"Motion",
//chandetail:"enum":"Motion",
//chandetail:"enum":"ChType_Motion",
//chandetail:"file":"new_pins.h",
//chandetail:"driver":""}
ChType_Motion,
@ -1011,7 +1011,7 @@ typedef enum channelType_e {
//chandetail:{"name":"Motion_n",
//chandetail:"title":"TODO",
//chandetail:"descr":"Motion_n",
//chandetail:"enum":"Motion_n",
//chandetail:"enum":"ChType_Motion_n",
//chandetail:"file":"new_pins.h",
//chandetail:"driver":""}
ChType_Motion_n,
@ -1022,11 +1022,27 @@ typedef enum channelType_e {
//chandetail:"file":"new_pins.h",
//chandetail:"driver":""}
ChType_Frequency_div1000,
//chandetail:{"name":"OpenStopClose",
//chandetail:"title":"OpenStopClose",
//chandetail:"descr":"TODO",
//chandetail:"enum":"ChType_OpenStopClose",
//chandetail:"file":"new_pins.h",
//chandetail:"driver":""}
ChType_OpenStopClose,
//chandetail:{"name":"Percent",
//chandetail:"title":"Percent",
//chandetail:"descr":"TODO",
//chandetail:"enum":"ChType_Percent",
//chandetail:"file":"new_pins.h",
//chandetail:"driver":""}
ChType_Percent,
//chandetail:{"name":"StopUpDown",
//chandetail:"title":"StopUpDown",
//chandetail:"descr":"TODO",
//chandetail:"enum":"ChType_StopUpDown",
//chandetail:"file":"new_pins.h",
//chandetail:"driver":""}
ChType_StopUpDown,
//chandetail:{"name":"Max",
//chandetail:"title":"TODO",
//chandetail:"descr":"This is the current total number of available channel types.",

View File

@ -102,7 +102,7 @@ void Test_CFG_Via_HTTP() {
//cmddetail:{"name":"SimSaveArgs","args":"",
//cmddetail:"descr":"Internal usage only. Command for OBK self-test in Simulator",
//cmddetail:"fn":"0);","file":"selftest/selftest_cfg_via_http.c","requires":"",
//cmddetail:"fn":"CMD_SelfTest_SaveArgs","file":"selftest/selftest_cfg_via_http.c","requires":"",
//cmddetail:"examples":""}
CMD_RegisterCommand("SimSaveArgs", CMD_SelfTest_SaveArgs, 0);

View File

@ -11,6 +11,7 @@ bool Strip_VerifyPixel5(uint32_t pixel, byte r, byte g, byte b, byte c, byte w);
#define SELFTEST_ASSERT_PIXEL4(index, r, g, b, w) SELFTEST_ASSERT(Strip_VerifyPixel4(index, r, g, b, w));
#define SELFTEST_ASSERT_PIXEL5(index, r, g, b, c, w) SELFTEST_ASSERT(Strip_VerifyPixel5(index, r, g, b, c, w));
void Strip_setMultiplePixel(uint32_t pixel, uint8_t *data, bool push);
void Test_DMX_RGB() {