Merge branch 'master' of https://git.keydev.me/edwin/ideas
commit
d71be2bb74
@ -0,0 +1,84 @@
|
||||
// Example program
|
||||
// work in progress 2022.08.07
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
enum cmd_parser_mode_t{
|
||||
PARSING_DEVICE,
|
||||
CHECK_DEVICE,
|
||||
PARSING_COMMAND,
|
||||
CHECK_COMMAND,
|
||||
PARSING_VALUE,
|
||||
CHECK_VALUE,
|
||||
COMMAND_VALID
|
||||
};
|
||||
|
||||
void device_check(const std::string cmd)
|
||||
{
|
||||
std::cout << cmd << std::endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void cmd_parser(const std::string &cmd)
|
||||
{
|
||||
cmd_parser_mode_t parser_mode = PARSING_DEVICE;
|
||||
std::string::size_type pos;
|
||||
|
||||
for(uint32_t i = 0; i < cmd.length(); i++) {
|
||||
switch(parser_mode) {
|
||||
case PARSING_DEVICE:
|
||||
std::cout << parser_mode << std::endl;
|
||||
|
||||
pos = cmd.find('_');
|
||||
if (pos != std::string::npos)
|
||||
{
|
||||
device_check(cmd.substr(0, pos));
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
parser_mode = CHECK_DEVICE;
|
||||
break;
|
||||
case CHECK_DEVICE:
|
||||
std::cout << parser_mode << std::endl;
|
||||
parser_mode = PARSING_COMMAND;
|
||||
break;
|
||||
case PARSING_COMMAND:
|
||||
std::cout << parser_mode << std::endl;
|
||||
parser_mode = CHECK_COMMAND;
|
||||
break;
|
||||
case CHECK_COMMAND:
|
||||
std::cout << parser_mode << std::endl;
|
||||
parser_mode = PARSING_VALUE;
|
||||
break;
|
||||
case PARSING_VALUE:
|
||||
std::cout << parser_mode << std::endl;
|
||||
parser_mode = CHECK_VALUE;
|
||||
break;
|
||||
case CHECK_VALUE:
|
||||
std::cout << parser_mode << std::endl;
|
||||
parser_mode = COMMAND_VALID;
|
||||
break;
|
||||
case COMMAND_VALID:
|
||||
std::cout << parser_mode << std::endl;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
break;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
std::string cmd_in = "DEVICE_COMMAND_VALUE";
|
||||
|
||||
cmd_parser(cmd_in);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -0,0 +1,193 @@
|
||||
Version 4
|
||||
SHEET 1 2020 680
|
||||
WIRE -624 -160 -624 -208
|
||||
WIRE 1216 -144 1168 -144
|
||||
WIRE 1344 -144 1296 -144
|
||||
WIRE -624 -64 -624 -80
|
||||
WIRE -624 -64 -704 -64
|
||||
WIRE -624 -48 -624 -64
|
||||
WIRE 480 -48 80 -48
|
||||
WIRE 1168 -48 1168 -144
|
||||
WIRE 1216 -48 1168 -48
|
||||
WIRE 1344 -32 1344 -144
|
||||
WIRE 1344 -32 1280 -32
|
||||
WIRE 1408 -32 1344 -32
|
||||
WIRE 1680 -32 1488 -32
|
||||
WIRE -704 -16 -704 -64
|
||||
WIRE 976 -16 832 -16
|
||||
WIRE 1056 -16 976 -16
|
||||
WIRE 1216 -16 1120 -16
|
||||
WIRE 480 0 480 -48
|
||||
WIRE 1680 32 1680 -32
|
||||
WIRE 1776 32 1680 32
|
||||
WIRE 2016 32 1856 32
|
||||
WIRE 976 48 976 -16
|
||||
WIRE 1168 64 1168 -48
|
||||
WIRE -624 80 -624 32
|
||||
WIRE 80 128 80 -48
|
||||
WIRE 480 128 480 80
|
||||
WIRE 608 128 480 128
|
||||
WIRE 832 128 832 -16
|
||||
WIRE 832 128 608 128
|
||||
WIRE 480 160 480 128
|
||||
WIRE 976 160 976 112
|
||||
WIRE 1680 160 1680 32
|
||||
WIRE 1792 160 1680 160
|
||||
WIRE 608 176 608 128
|
||||
WIRE 832 176 832 128
|
||||
WIRE 2016 176 2016 32
|
||||
WIRE 2016 176 1856 176
|
||||
WIRE 1792 192 1680 192
|
||||
WIRE 80 240 80 208
|
||||
WIRE 80 240 -224 240
|
||||
WIRE 80 272 80 240
|
||||
WIRE 480 288 480 240
|
||||
WIRE 608 288 608 240
|
||||
WIRE 608 288 480 288
|
||||
WIRE 832 288 832 240
|
||||
WIRE 832 288 608 288
|
||||
WIRE 1168 304 1168 144
|
||||
WIRE 1216 304 1168 304
|
||||
WIRE 1344 304 1296 304
|
||||
WIRE 480 320 480 288
|
||||
WIRE -224 384 -224 240
|
||||
WIRE 1168 400 1168 304
|
||||
WIRE 1216 400 1168 400
|
||||
WIRE 1344 416 1344 304
|
||||
WIRE 1344 416 1280 416
|
||||
WIRE 1408 416 1344 416
|
||||
WIRE 1680 416 1680 192
|
||||
WIRE 1680 416 1488 416
|
||||
WIRE 1744 416 1680 416
|
||||
WIRE 1872 416 1824 416
|
||||
WIRE 80 432 80 352
|
||||
WIRE 480 432 480 400
|
||||
WIRE 480 432 80 432
|
||||
WIRE 832 432 832 288
|
||||
WIRE 976 432 832 432
|
||||
WIRE 1056 432 976 432
|
||||
WIRE 1216 432 1120 432
|
||||
WIRE -224 496 -224 464
|
||||
WIRE 976 496 976 432
|
||||
WIRE 976 608 976 560
|
||||
FLAG -704 -16 0
|
||||
FLAG -624 -208 +5V
|
||||
FLAG -624 80 -5V
|
||||
FLAG 1248 0 -5V
|
||||
FLAG 1248 -64 +5V
|
||||
FLAG 1248 384 +5V
|
||||
FLAG 1248 448 -5V
|
||||
FLAG 1824 208 -5V
|
||||
FLAG 1824 144 +5V
|
||||
FLAG 1872 416 0
|
||||
FLAG 976 160 0
|
||||
FLAG 976 608 0
|
||||
FLAG -224 496 0
|
||||
SYMBOL voltage 80 112 R0
|
||||
WINDOW 123 0 0 Left 0
|
||||
WINDOW 39 0 0 Left 0
|
||||
SYMATTR InstName V1
|
||||
SYMATTR Value SINE(0 {amplitude / 2} {f})
|
||||
SYMBOL res 464 -16 R0
|
||||
SYMATTR InstName R1
|
||||
SYMATTR Value 10Meg
|
||||
SYMBOL res 464 144 R0
|
||||
SYMATTR InstName R2
|
||||
SYMATTR Value 1k
|
||||
SYMBOL res 464 304 R0
|
||||
SYMATTR InstName R3
|
||||
SYMATTR Value 10Meg
|
||||
SYMBOL voltage 80 256 R0
|
||||
WINDOW 123 0 0 Left 0
|
||||
WINDOW 39 0 0 Left 0
|
||||
SYMATTR InstName V2
|
||||
SYMATTR Value SINE(0 {amplitude / 2} {f})
|
||||
SYMBOL diode 592 176 R0
|
||||
SYMATTR InstName D1
|
||||
SYMATTR Value 1N4148
|
||||
SYMBOL diode 848 240 R180
|
||||
WINDOW 0 24 64 Left 2
|
||||
WINDOW 3 24 0 Left 2
|
||||
SYMATTR InstName D3
|
||||
SYMATTR Value 1N4148
|
||||
SYMBOL res 1312 -160 R90
|
||||
WINDOW 0 0 56 VBottom 2
|
||||
WINDOW 3 32 56 VTop 2
|
||||
SYMATTR InstName R5
|
||||
SYMATTR Value 10k
|
||||
SYMBOL res 1312 288 R90
|
||||
WINDOW 0 0 56 VBottom 2
|
||||
WINDOW 3 32 56 VTop 2
|
||||
SYMATTR InstName R7
|
||||
SYMATTR Value 10k
|
||||
SYMBOL voltage -624 -176 R0
|
||||
WINDOW 123 0 0 Left 0
|
||||
WINDOW 39 0 0 Left 0
|
||||
SYMATTR InstName V3
|
||||
SYMATTR Value 5
|
||||
SYMBOL voltage -624 -64 R0
|
||||
WINDOW 123 0 0 Left 0
|
||||
WINDOW 39 0 0 Left 0
|
||||
SYMATTR InstName V4
|
||||
SYMATTR Value 5
|
||||
SYMBOL res 1152 48 R0
|
||||
SYMATTR InstName R4
|
||||
SYMATTR Value 10k
|
||||
SYMBOL res 1504 -48 R90
|
||||
WINDOW 0 0 56 VBottom 2
|
||||
WINDOW 3 32 56 VTop 2
|
||||
SYMATTR InstName R6
|
||||
SYMATTR Value 2k5
|
||||
SYMBOL res 1504 400 R90
|
||||
WINDOW 0 0 56 VBottom 2
|
||||
WINDOW 3 32 56 VTop 2
|
||||
SYMATTR InstName R8
|
||||
SYMATTR Value 2k5
|
||||
SYMBOL res 1872 16 R90
|
||||
WINDOW 0 0 56 VBottom 2
|
||||
WINDOW 3 32 56 VTop 2
|
||||
SYMATTR InstName R9
|
||||
SYMATTR Value 10k
|
||||
SYMBOL res 1840 400 R90
|
||||
WINDOW 0 0 56 VBottom 2
|
||||
WINDOW 3 32 56 VTop 2
|
||||
SYMATTR InstName R10
|
||||
SYMATTR Value 10k
|
||||
SYMBOL Opamps\\LT1223 1248 -96 R0
|
||||
SYMATTR InstName U4
|
||||
SYMBOL Opamps\\LT1223 1248 352 R0
|
||||
SYMATTR InstName U1
|
||||
SYMBOL Opamps\\LT1223 1824 112 R0
|
||||
SYMATTR InstName U2
|
||||
SYMBOL TVSdiode 960 48 R0
|
||||
WINDOW 0 24 0 Left 2
|
||||
WINDOW 3 24 64 Left 2
|
||||
SYMATTR InstName D2
|
||||
SYMATTR Value SMBJ24CA
|
||||
SYMATTR Description Diode
|
||||
SYMATTR Type diode
|
||||
SYMBOL TVSdiode 960 496 R0
|
||||
WINDOW 0 24 0 Left 2
|
||||
WINDOW 3 24 64 Left 2
|
||||
SYMATTR InstName D4
|
||||
SYMATTR Value SMBJ24CA
|
||||
SYMATTR Description Diode
|
||||
SYMATTR Type diode
|
||||
SYMBOL voltage -224 368 R0
|
||||
WINDOW 123 0 0 Left 0
|
||||
WINDOW 39 0 0 Left 0
|
||||
SYMATTR InstName V5
|
||||
SYMATTR Value 0
|
||||
SYMBOL cap 1120 416 R90
|
||||
WINDOW 0 0 32 VBottom 2
|
||||
WINDOW 3 32 32 VTop 2
|
||||
SYMATTR InstName C1
|
||||
SYMATTR Value 10n
|
||||
SYMBOL cap 1120 -32 R90
|
||||
WINDOW 0 0 32 VBottom 2
|
||||
WINDOW 3 32 32 VTop 2
|
||||
SYMATTR InstName C2
|
||||
SYMATTR Value 10n
|
||||
TEXT -20 438 Left 2 !.tran 100u
|
||||
TEXT -256 -32 Left 2 !.param f = 1.1MEG
|
||||
TEXT -248 0 Left 2 !.param amplitude = 1k25
|
@ -0,0 +1,27 @@
|
||||
Circuit: * C:\Users\Edwin\Documents\19_git\ideas\circuits\CAP_charger\CAP_charger.asc
|
||||
|
||||
WARNING: Node N004 is floating.
|
||||
|
||||
.OP point found by inspection.
|
||||
|
||||
vmax: MAX(i(r1))=0.00043904 FROM 0.01 TO 5
|
||||
vmin: MIN(i(r1))=-12.7919 FROM 0.01 TO 5
|
||||
|
||||
|
||||
Date: Sun Feb 06 15:16:51 2022
|
||||
Total elapsed time: 0.278 seconds.
|
||||
|
||||
tnom = 27
|
||||
temp = 27
|
||||
method = modified trap
|
||||
totiter = 81379
|
||||
traniter = 81379
|
||||
tranpoints = 25384
|
||||
accept = 18326
|
||||
rejected = 7058
|
||||
matrix size = 16
|
||||
fillins = 11
|
||||
solver = Normal
|
||||
Matrix Compiler1: 88 opcodes 0.2/[0.1]/0.3
|
||||
Matrix Compiler2: 1.41 KB object code size 0.1/0.2/[0.0]
|
||||
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,22 @@
|
||||
Circuit: * C:\Users\Edwin\Documents\19_git\ideas\circuits\CAP_charger\Draft1.asc
|
||||
|
||||
WARNING: Specified period is not longer than the sum of Trise, Tfall, and Ton for v3. Increasing period to 0.001
|
||||
Direct Newton iteration for .op point succeeded.
|
||||
|
||||
Date: Sat Mar 05 13:03:08 2022
|
||||
Total elapsed time: 0.098 seconds.
|
||||
|
||||
tnom = 27
|
||||
temp = 27
|
||||
method = modified trap
|
||||
totiter = 4205
|
||||
traniter = 4185
|
||||
tranpoints = 1498
|
||||
accept = 1383
|
||||
rejected = 115
|
||||
matrix size = 24
|
||||
fillins = 4
|
||||
solver = Normal
|
||||
Matrix Compiler1: 1.77 KB object code size 0.3/0.3/[0.1]
|
||||
Matrix Compiler2: off [0.2]/0.3/0.2
|
||||
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
Version 4
|
||||
SHEET 1 880 680
|
@ -0,0 +1,190 @@
|
||||
Version 4
|
||||
SHEET 1 1908 680
|
||||
WIRE 288 -16 128 -16
|
||||
WIRE 416 -16 352 -16
|
||||
WIRE 512 -16 416 -16
|
||||
WIRE 560 -16 512 -16
|
||||
WIRE 672 -16 624 -16
|
||||
WIRE 768 -16 672 -16
|
||||
WIRE 800 -16 768 -16
|
||||
WIRE 928 -16 864 -16
|
||||
WIRE 1024 -16 928 -16
|
||||
WIRE 1072 -16 1024 -16
|
||||
WIRE 1184 -16 1136 -16
|
||||
WIRE 1280 -16 1184 -16
|
||||
WIRE 1312 -16 1280 -16
|
||||
WIRE 1440 -16 1376 -16
|
||||
WIRE 1536 -16 1440 -16
|
||||
WIRE 1584 -16 1536 -16
|
||||
WIRE 1696 -16 1648 -16
|
||||
WIRE 1792 -16 1696 -16
|
||||
WIRE 416 32 416 -16
|
||||
WIRE 512 32 512 -16
|
||||
WIRE 672 32 672 -16
|
||||
WIRE 768 32 768 -16
|
||||
WIRE 928 32 928 -16
|
||||
WIRE 1024 32 1024 -16
|
||||
WIRE 1184 32 1184 -16
|
||||
WIRE 1280 32 1280 -16
|
||||
WIRE 1440 32 1440 -16
|
||||
WIRE 1536 32 1536 -16
|
||||
WIRE 1696 32 1696 -16
|
||||
WIRE 1792 32 1792 -16
|
||||
WIRE 128 80 128 -16
|
||||
WIRE 416 144 416 96
|
||||
WIRE 416 144 272 144
|
||||
WIRE 432 144 416 144
|
||||
WIRE 512 144 512 96
|
||||
WIRE 512 144 496 144
|
||||
WIRE 672 144 672 96
|
||||
WIRE 672 144 512 144
|
||||
WIRE 688 144 672 144
|
||||
WIRE 768 144 768 96
|
||||
WIRE 768 144 752 144
|
||||
WIRE 928 144 928 96
|
||||
WIRE 928 144 768 144
|
||||
WIRE 944 144 928 144
|
||||
WIRE 1024 144 1024 96
|
||||
WIRE 1024 144 1008 144
|
||||
WIRE 1184 144 1184 96
|
||||
WIRE 1184 144 1024 144
|
||||
WIRE 1200 144 1184 144
|
||||
WIRE 1280 144 1280 96
|
||||
WIRE 1280 144 1264 144
|
||||
WIRE 1440 144 1440 96
|
||||
WIRE 1440 144 1280 144
|
||||
WIRE 1456 144 1440 144
|
||||
WIRE 1536 144 1536 96
|
||||
WIRE 1536 144 1520 144
|
||||
WIRE 1696 144 1696 96
|
||||
WIRE 1696 144 1536 144
|
||||
WIRE 1712 144 1696 144
|
||||
WIRE 1792 144 1792 96
|
||||
WIRE 1792 144 1776 144
|
||||
WIRE 128 176 128 160
|
||||
WIRE 272 176 272 144
|
||||
WIRE 272 176 128 176
|
||||
WIRE 128 208 128 176
|
||||
WIRE 1792 224 1792 144
|
||||
WIRE 1792 352 1792 304
|
||||
FLAG 128 208 0
|
||||
FLAG 1792 352 0
|
||||
SYMBOL voltage 128 64 R0
|
||||
WINDOW 123 0 0 Left 0
|
||||
WINDOW 39 24 124 Left 2
|
||||
SYMATTR InstName V1
|
||||
SYMATTR Value SINE(0 0.5 10)
|
||||
SYMATTR SpiceLine Rser=10k
|
||||
SYMBOL cap 352 -32 R90
|
||||
WINDOW 0 0 32 VBottom 2
|
||||
WINDOW 3 32 32 VTop 2
|
||||
SYMATTR InstName C1
|
||||
SYMATTR Value {Cl}
|
||||
SYMBOL cap 624 -32 R90
|
||||
WINDOW 0 0 32 VBottom 2
|
||||
WINDOW 3 32 32 VTop 2
|
||||
SYMATTR InstName C2
|
||||
SYMATTR Value {Cl}
|
||||
SYMBOL diode 432 96 R180
|
||||
WINDOW 0 24 64 Left 2
|
||||
WINDOW 3 24 0 Left 2
|
||||
SYMATTR InstName D1
|
||||
SYMATTR Value 1N4148
|
||||
SYMBOL cap 496 128 R90
|
||||
WINDOW 0 0 32 VBottom 2
|
||||
WINDOW 3 32 32 VTop 2
|
||||
SYMATTR InstName C3
|
||||
SYMATTR Value {Cl}
|
||||
SYMBOL diode 496 32 R0
|
||||
SYMATTR InstName D2
|
||||
SYMATTR Value 1N4148
|
||||
SYMBOL diode 688 96 R180
|
||||
WINDOW 0 24 64 Left 2
|
||||
WINDOW 3 24 0 Left 2
|
||||
SYMATTR InstName D3
|
||||
SYMATTR Value 1N4148
|
||||
SYMBOL cap 752 128 R90
|
||||
WINDOW 0 0 32 VBottom 2
|
||||
WINDOW 3 32 32 VTop 2
|
||||
SYMATTR InstName C5
|
||||
SYMATTR Value {Cl}
|
||||
SYMBOL diode 752 32 R0
|
||||
SYMATTR InstName D4
|
||||
SYMATTR Value 1N4148
|
||||
SYMBOL cap 864 -32 R90
|
||||
WINDOW 0 0 32 VBottom 2
|
||||
WINDOW 3 32 32 VTop 2
|
||||
SYMATTR InstName C4
|
||||
SYMATTR Value {Cl}
|
||||
SYMBOL cap 1136 -32 R90
|
||||
WINDOW 0 0 32 VBottom 2
|
||||
WINDOW 3 32 32 VTop 2
|
||||
SYMATTR InstName C6
|
||||
SYMATTR Value {Cl}
|
||||
SYMBOL diode 944 96 R180
|
||||
WINDOW 0 24 64 Left 2
|
||||
WINDOW 3 24 0 Left 2
|
||||
SYMATTR InstName D5
|
||||
SYMATTR Value 1N4148
|
||||
SYMBOL cap 1008 128 R90
|
||||
WINDOW 0 0 32 VBottom 2
|
||||
WINDOW 3 32 32 VTop 2
|
||||
SYMATTR InstName C7
|
||||
SYMATTR Value {Cl}
|
||||
SYMBOL diode 1008 32 R0
|
||||
SYMATTR InstName D6
|
||||
SYMATTR Value 1N4148
|
||||
SYMBOL diode 1200 96 R180
|
||||
WINDOW 0 24 64 Left 2
|
||||
WINDOW 3 24 0 Left 2
|
||||
SYMATTR InstName D7
|
||||
SYMATTR Value 1N4148
|
||||
SYMBOL cap 1264 128 R90
|
||||
WINDOW 0 0 32 VBottom 2
|
||||
WINDOW 3 32 32 VTop 2
|
||||
SYMATTR InstName C8
|
||||
SYMATTR Value {Cl}
|
||||
SYMBOL diode 1264 32 R0
|
||||
SYMATTR InstName D8
|
||||
SYMATTR Value 1N4148
|
||||
SYMBOL cap 1376 -32 R90
|
||||
WINDOW 0 0 32 VBottom 2
|
||||
WINDOW 3 32 32 VTop 2
|
||||
SYMATTR InstName C9
|
||||
SYMATTR Value {Cl}
|
||||
SYMBOL cap 1648 -32 R90
|
||||
WINDOW 0 0 32 VBottom 2
|
||||
WINDOW 3 32 32 VTop 2
|
||||
SYMATTR InstName C10
|
||||
SYMATTR Value {Cl}
|
||||
SYMBOL diode 1456 96 R180
|
||||
WINDOW 0 24 64 Left 2
|
||||
WINDOW 3 24 0 Left 2
|
||||
SYMATTR InstName D9
|
||||
SYMATTR Value 1N4148
|
||||
SYMBOL cap 1520 128 R90
|
||||
WINDOW 0 0 32 VBottom 2
|
||||
WINDOW 3 32 32 VTop 2
|
||||
SYMATTR InstName C11
|
||||
SYMATTR Value {Cl}
|
||||
SYMBOL diode 1520 32 R0
|
||||
SYMATTR InstName D10
|
||||
SYMATTR Value 1N4148
|
||||
SYMBOL diode 1712 96 R180
|
||||
WINDOW 0 24 64 Left 2
|
||||
WINDOW 3 24 0 Left 2
|
||||
SYMATTR InstName D11
|
||||
SYMATTR Value 1N4148
|
||||
SYMBOL cap 1776 128 R90
|
||||
WINDOW 0 0 32 VBottom 2
|
||||
WINDOW 3 32 32 VTop 2
|
||||
SYMATTR InstName C12
|
||||
SYMATTR Value {Cl}
|
||||
SYMBOL diode 1776 32 R0
|
||||
SYMATTR InstName D12
|
||||
SYMATTR Value 1N4148
|
||||
SYMBOL res 1776 208 R0
|
||||
SYMATTR InstName R1
|
||||
SYMATTR Value 100Meg
|
||||
TEXT 94 232 Left 2 !.tran 5s
|
||||
TEXT -264 16 Left 2 !.param Cl = 1n
|
Loading…
Reference in new issue