├── .gitignore
├── LICENSE
├── README.md
├── arduino_plclib.doxygen
├── doc
└── html
│ ├── annotated.html
│ ├── arrowdown.png
│ ├── arrowright.png
│ ├── bc_s.png
│ ├── bdwn.png
│ ├── class_c_t_d-members.html
│ ├── class_c_t_d.html
│ ├── class_c_t_u-members.html
│ ├── class_c_t_u.html
│ ├── class_c_t_u_d-members.html
│ ├── class_c_t_u_d.html
│ ├── class_f___t_r_i_g-members.html
│ ├── class_f___t_r_i_g.html
│ ├── class_r___t_r_i_g-members.html
│ ├── class_r___t_r_i_g.html
│ ├── class_r_s-members.html
│ ├── class_r_s.html
│ ├── class_s_e_m_a-members.html
│ ├── class_s_e_m_a.html
│ ├── class_s_r-members.html
│ ├── class_s_r.html
│ ├── class_t_o_f-members.html
│ ├── class_t_o_f.html
│ ├── class_t_o_n-members.html
│ ├── class_t_o_n.html
│ ├── class_t_p-members.html
│ ├── class_t_p.html
│ ├── classes.html
│ ├── closed.png
│ ├── doc.png
│ ├── doxygen.css
│ ├── doxygen.png
│ ├── dynsections.js
│ ├── files.html
│ ├── folderclosed.png
│ ├── folderopen.png
│ ├── ftv2blank.png
│ ├── ftv2doc.png
│ ├── ftv2folderclosed.png
│ ├── ftv2folderopen.png
│ ├── ftv2lastnode.png
│ ├── ftv2link.png
│ ├── ftv2mlastnode.png
│ ├── ftv2mnode.png
│ ├── ftv2node.png
│ ├── ftv2plastnode.png
│ ├── ftv2pnode.png
│ ├── ftv2splitbar.png
│ ├── ftv2vertline.png
│ ├── functions.html
│ ├── functions_func.html
│ ├── functions_vars.html
│ ├── index.html
│ ├── jquery.js
│ ├── nav_f.png
│ ├── nav_g.png
│ ├── nav_h.png
│ ├── open.png
│ ├── plclib_8h_source.html
│ ├── search
│ ├── all_0.html
│ ├── all_0.js
│ ├── all_1.html
│ ├── all_1.js
│ ├── all_2.html
│ ├── all_2.js
│ ├── all_3.html
│ ├── all_3.js
│ ├── all_4.html
│ ├── all_4.js
│ ├── all_5.html
│ ├── all_5.js
│ ├── all_6.html
│ ├── all_6.js
│ ├── all_7.html
│ ├── all_7.js
│ ├── all_8.html
│ ├── all_8.js
│ ├── all_9.html
│ ├── all_9.js
│ ├── all_a.html
│ ├── all_a.js
│ ├── classes_0.html
│ ├── classes_0.js
│ ├── classes_1.html
│ ├── classes_1.js
│ ├── classes_2.html
│ ├── classes_2.js
│ ├── classes_3.html
│ ├── classes_3.js
│ ├── classes_4.html
│ ├── classes_4.js
│ ├── close.png
│ ├── functions_0.html
│ ├── functions_0.js
│ ├── functions_1.html
│ ├── functions_1.js
│ ├── functions_2.html
│ ├── functions_2.js
│ ├── functions_3.html
│ ├── functions_3.js
│ ├── functions_4.html
│ ├── functions_4.js
│ ├── mag_sel.png
│ ├── nomatches.html
│ ├── search.css
│ ├── search.js
│ ├── search_l.png
│ ├── search_m.png
│ ├── search_r.png
│ ├── searchdata.js
│ ├── variables_0.html
│ ├── variables_0.js
│ ├── variables_1.html
│ ├── variables_1.js
│ ├── variables_2.html
│ ├── variables_2.js
│ ├── variables_3.html
│ ├── variables_3.js
│ ├── variables_4.html
│ ├── variables_4.js
│ ├── variables_5.html
│ ├── variables_5.js
│ ├── variables_6.html
│ ├── variables_6.js
│ ├── variables_7.html
│ └── variables_7.js
│ ├── splitbar.png
│ ├── stdlib_8h_source.html
│ ├── sync_off.png
│ ├── sync_on.png
│ ├── tab_a.png
│ ├── tab_b.png
│ ├── tab_h.png
│ ├── tab_s.png
│ └── tabs.css
├── examples
├── counter
│ ├── ctd
│ │ └── ctd.ino
│ ├── ctu
│ │ └── ctu.ino
│ └── ctud
│ │ └── ctud.ino
├── edge_detection
│ └── edge_detection.ino
├── latches
│ ├── rs_latch
│ │ └── rs_latch.ino
│ ├── semaphore
│ │ └── semaphore.ino
│ └── sr_latch
│ │ └── sr_latch.ino
└── timer
│ ├── tof
│ └── tof.ino
│ ├── ton
│ └── ton.ino
│ └── tp
│ └── tp.ino
├── keywords.txt
├── plclib.cpp
└── plclib.h
/.gitignore:
--------------------------------------------------------------------------------
1 | latex/
2 | .DS_Store
3 | *.sublime-*
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Stefan Lehmann
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/doc/html/annotated.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: Class List
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
69 |
74 |
75 |
76 |
77 |
80 |
81 |
82 |
86 |
87 |
Here are the classes, structs, unions and interfaces with brief descriptions:
88 |
89 | CCTD | Downward counter |
90 | CCTU | Upward counter |
91 | CCTUD | Up- and Downward counter |
92 | CF_TRIG | Detect a falling edge |
93 | CR_TRIG | Detect a rising edge |
94 | CRS | Bistable function block with dominating reset |
95 | CSEMA | Software semaphore (interruptable) |
96 | CSR | Bistable function block with dominating set |
97 | CTOF | Realise a Switch-Off delay |
98 | CTON | Realise a Switch-On delay |
99 | CTP | Realise an impulse of a defined length |
100 |
101 |
102 |
103 |
104 |
109 |
110 |
111 |
--------------------------------------------------------------------------------
/doc/html/arrowdown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/arrowdown.png
--------------------------------------------------------------------------------
/doc/html/arrowright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/arrowright.png
--------------------------------------------------------------------------------
/doc/html/bc_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/bc_s.png
--------------------------------------------------------------------------------
/doc/html/bdwn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/bdwn.png
--------------------------------------------------------------------------------
/doc/html/class_c_t_d-members.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: Member List
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
73 |
74 |
75 |
76 |
79 |
80 |
81 |
82 |
86 |
87 |
88 |
This is the complete list of members for CTD, including all inherited members.
89 |
99 |
100 |
105 |
106 |
107 |
--------------------------------------------------------------------------------
/doc/html/class_c_t_u-members.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: Member List
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
73 |
74 |
75 |
76 |
79 |
80 |
81 |
82 |
86 |
87 |
88 |
This is the complete list of members for CTU, including all inherited members.
89 |
99 |
100 |
105 |
106 |
107 |
--------------------------------------------------------------------------------
/doc/html/class_c_t_u_d-members.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: Member List
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
73 |
74 |
75 |
76 |
79 |
80 |
81 |
82 |
86 |
87 |
88 |
This is the complete list of members for CTUD, including all inherited members.
89 |
102 |
103 |
108 |
109 |
110 |
--------------------------------------------------------------------------------
/doc/html/class_f___t_r_i_g-members.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: Member List
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
73 |
74 |
75 |
76 |
79 |
80 |
81 |
82 |
86 |
87 |
88 |
This is the complete list of members for F_TRIG, including all inherited members.
89 |
96 |
97 |
102 |
103 |
104 |
--------------------------------------------------------------------------------
/doc/html/class_r___t_r_i_g-members.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: Member List
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
73 |
74 |
75 |
76 |
79 |
80 |
81 |
82 |
86 |
87 |
88 |
This is the complete list of members for R_TRIG, including all inherited members.
89 |
96 |
97 |
102 |
103 |
104 |
--------------------------------------------------------------------------------
/doc/html/class_r___t_r_i_g.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: R_TRIG Class Reference
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
73 |
74 |
75 |
76 |
79 |
80 |
81 |
82 |
90 |
91 |
92 |
Detect a rising edge.
93 | More...
94 |
95 |
#include <plclib.h>
96 |
97 | |
99 |
100 | | R_TRIG () |
101 | | Constructor.
|
102 | |
103 |
104 | boolean | process () |
105 | | Call cyclic for data processing.
|
106 | |
107 | boolean | process (boolean clk) |
108 | | Call cyclic for data processing. More...
|
109 | |
110 |
111 | |
113 |
114 | boolean | CLK |
115 | | Input variable.
|
116 | |
117 |
118 | boolean | Q |
119 | | Output variable.
|
120 | |
121 |
122 |
123 |
Detect a rising edge.
124 |
Code sample:
#include "plc_standardlib.h"
125 | #define X0 2
126 |
127 | R_TRIG trig;
128 | void setup() {
129 | pinMode(X0, INPUT_PULLUP);
130 | Serial.begin(9600);
131 | }
132 | void loop() {
133 | boolean x0 = !digitalRead(X0);
134 | trig.process(x0);
135 | if (trig.Q) {
136 | Serial.println("This was a rising edge.");
137 | }
138 | }
139 |
140 |
141 |
142 |
143 |
144 | boolean R_TRIG::process |
145 | ( |
146 | boolean |
147 | clk | ) |
148 | |
149 |
150 |
151 |
152 |
153 |
Call cyclic for data processing.
154 |
- Parameters
-
155 |
156 | in | value for input variable |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
The documentation for this class was generated from the following files:
167 |
168 |
169 |
174 |
175 |
176 |
--------------------------------------------------------------------------------
/doc/html/class_r_s-members.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: Member List
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
73 |
74 |
75 |
76 |
79 |
80 |
81 |
82 |
86 |
87 |
88 |
This is the complete list of members for RS, including all inherited members.
89 |
90 | process() (defined in RS) | RS | |
91 | process(boolean set, boolean reset1) (defined in RS) | RS | |
92 | Q1 (defined in RS) | RS | |
93 | RESET1 (defined in RS) | RS | |
94 | RS() (defined in RS) | RS | |
95 | SET (defined in RS) | RS | |
96 |
97 |
98 |
103 |
104 |
105 |
--------------------------------------------------------------------------------
/doc/html/class_r_s.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: RS Class Reference
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
73 |
74 |
75 |
76 |
79 |
80 |
81 |
82 |
90 |
91 |
92 |
Bistable function block with dominating reset.
93 | More...
94 |
95 |
#include <plclib.h>
96 |
97 | |
99 |
100 | boolean | process () |
101 | |
102 |
103 | boolean | process (boolean set, boolean reset1) |
104 | |
105 |
106 | |
108 |
109 | boolean | SET |
110 | |
111 |
112 | boolean | RESET1 |
113 | |
114 |
115 | boolean | Q1 |
116 | |
117 |
118 |
119 |
Bistable function block with dominating reset.
120 |
Code sample:
#include "plc_standardlib.h"
121 |
122 | RS rs_latch;
123 | R_TRIG rtrig;
124 | F_TRIG ftrig;
125 |
126 | void setup() {
127 | pinMode(0, INPUT_PULLUP);
128 | pinMode(1, INPUT_PULLUP);
129 | Serial.begin(9600);
130 | }
131 |
132 | void loop() {
133 | boolean x0 = !digitalRead(0); //set switch
134 | boolean x1 = !digitalRead(1); //reset switch
135 |
136 | rs_latch.process(x0, x1);
137 | rtrig.process(rs_latch.Q1);
138 | ftrig.process(rs_latch.Q1);
139 |
140 | if (rtrig.Q) {
141 | Serial.println("On");
142 | }
143 | if (ftrig.Q) {
144 | Serial.println("Off");
145 | }
146 | }
The documentation for this class was generated from the following files:
150 |
151 |
152 |
157 |
158 |
159 |
--------------------------------------------------------------------------------
/doc/html/class_s_e_m_a-members.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: Member List
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
73 |
74 |
75 |
76 |
79 |
80 |
81 |
82 |
86 |
87 |
88 |
This is the complete list of members for SEMA, including all inherited members.
89 |
97 |
98 |
103 |
104 |
105 |
--------------------------------------------------------------------------------
/doc/html/class_s_r-members.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: Member List
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
73 |
74 |
75 |
76 |
79 |
80 |
81 |
82 |
86 |
87 |
88 |
This is the complete list of members for SR, including all inherited members.
89 |
90 | process() (defined in SR) | SR | |
91 | process(boolean set1, boolean reset) (defined in SR) | SR | |
92 | Q1 (defined in SR) | SR | |
93 | RESET (defined in SR) | SR | |
94 | SET1 (defined in SR) | SR | |
95 | SR() (defined in SR) | SR | |
96 |
97 |
98 |
103 |
104 |
105 |
--------------------------------------------------------------------------------
/doc/html/class_s_r.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: SR Class Reference
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
73 |
74 |
75 |
76 |
79 |
80 |
81 |
82 |
90 |
91 |
92 |
Bistable function block with dominating set.
93 | More...
94 |
95 |
#include <plclib.h>
96 |
97 | |
99 |
100 | boolean | process () |
101 | |
102 |
103 | boolean | process (boolean set1, boolean reset) |
104 | |
105 |
106 | |
108 |
109 | boolean | SET1 |
110 | |
111 |
112 | boolean | RESET |
113 | |
114 |
115 | boolean | Q1 |
116 | |
117 |
118 |
119 |
Bistable function block with dominating set.
120 |
Code sample:
#include "plc_standardlib.h"
121 |
122 | SR sr_latch;
123 | R_TRIG rtrig;
124 | F_TRIG ftrig;
125 |
126 | void setup() {
127 | pinMode(0, INPUT_PULLUP);
128 | pinMode(1, INPUT_PULLUP);
129 | Serial.begin(9600);
130 | }
131 |
132 | void loop() {
133 | boolean x0 = !digitalRead(0); //set switch
134 | boolean x1 = !digitalRead(1); //reset switch
135 |
136 | sr_latch.process(x0, x1);
137 | rtrig.process(sr_latch.Q1);
138 | ftrig.process(sr_latch.Q1);
139 |
140 | if (rtrig.Q) {
141 | Serial.println("On");
142 | }
143 | if (ftrig.Q) {
144 | Serial.println("Off");
145 | }
146 | }
The documentation for this class was generated from the following files:
150 |
151 |
152 |
157 |
158 |
159 |
--------------------------------------------------------------------------------
/doc/html/class_t_o_f-members.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: Member List
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
73 |
74 |
75 |
76 |
79 |
80 |
81 |
82 |
86 |
87 |
88 |
This is the complete list of members for TOF, including all inherited members.
89 |
98 |
99 |
104 |
105 |
106 |
--------------------------------------------------------------------------------
/doc/html/class_t_o_n-members.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: Member List
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
73 |
74 |
75 |
76 |
79 |
80 |
81 |
82 |
86 |
87 |
88 |
This is the complete list of members for TON, including all inherited members.
89 |
98 |
99 |
104 |
105 |
106 |
--------------------------------------------------------------------------------
/doc/html/class_t_p-members.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: Member List
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
73 |
74 |
75 |
76 |
79 |
80 |
81 |
82 |
86 |
87 |
88 |
This is the complete list of members for TP, including all inherited members.
89 |
99 |
100 |
105 |
106 |
107 |
--------------------------------------------------------------------------------
/doc/html/classes.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: Class Index
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
68 |
69 |
74 |
75 |
76 |
77 |
80 |
81 |
82 |
86 |
104 |
105 |
110 |
111 |
112 |
--------------------------------------------------------------------------------
/doc/html/closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/closed.png
--------------------------------------------------------------------------------
/doc/html/doc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/doc.png
--------------------------------------------------------------------------------
/doc/html/doxygen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/doxygen.png
--------------------------------------------------------------------------------
/doc/html/dynsections.js:
--------------------------------------------------------------------------------
1 | function toggleVisibility(linkObj)
2 | {
3 | var base = $(linkObj).attr('id');
4 | var summary = $('#'+base+'-summary');
5 | var content = $('#'+base+'-content');
6 | var trigger = $('#'+base+'-trigger');
7 | var src=$(trigger).attr('src');
8 | if (content.is(':visible')===true) {
9 | content.hide();
10 | summary.show();
11 | $(linkObj).addClass('closed').removeClass('opened');
12 | $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
13 | } else {
14 | content.show();
15 | summary.hide();
16 | $(linkObj).removeClass('closed').addClass('opened');
17 | $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
18 | }
19 | return false;
20 | }
21 |
22 | function updateStripes()
23 | {
24 | $('table.directory tr').
25 | removeClass('even').filter(':visible:even').addClass('even');
26 | }
27 |
28 | function toggleLevel(level)
29 | {
30 | $('table.directory tr').each(function() {
31 | var l = this.id.split('_').length-1;
32 | var i = $('#img'+this.id.substring(3));
33 | var a = $('#arr'+this.id.substring(3));
34 | if (l
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: File List
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
65 |
66 |
67 |
72 |
73 |
74 |
75 |
78 |
79 |
80 |
84 |
85 |
Here is a list of all documented files with brief descriptions:
90 |
91 |
92 |
97 |
98 |
99 |
--------------------------------------------------------------------------------
/doc/html/folderclosed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/folderclosed.png
--------------------------------------------------------------------------------
/doc/html/folderopen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/folderopen.png
--------------------------------------------------------------------------------
/doc/html/ftv2blank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/ftv2blank.png
--------------------------------------------------------------------------------
/doc/html/ftv2doc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/ftv2doc.png
--------------------------------------------------------------------------------
/doc/html/ftv2folderclosed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/ftv2folderclosed.png
--------------------------------------------------------------------------------
/doc/html/ftv2folderopen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/ftv2folderopen.png
--------------------------------------------------------------------------------
/doc/html/ftv2lastnode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/ftv2lastnode.png
--------------------------------------------------------------------------------
/doc/html/ftv2link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/ftv2link.png
--------------------------------------------------------------------------------
/doc/html/ftv2mlastnode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/ftv2mlastnode.png
--------------------------------------------------------------------------------
/doc/html/ftv2mnode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/ftv2mnode.png
--------------------------------------------------------------------------------
/doc/html/ftv2node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/ftv2node.png
--------------------------------------------------------------------------------
/doc/html/ftv2plastnode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/ftv2plastnode.png
--------------------------------------------------------------------------------
/doc/html/ftv2pnode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/ftv2pnode.png
--------------------------------------------------------------------------------
/doc/html/ftv2splitbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/ftv2splitbar.png
--------------------------------------------------------------------------------
/doc/html/ftv2vertline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/ftv2vertline.png
--------------------------------------------------------------------------------
/doc/html/functions_func.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: Class Members - Functions
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
74 |
75 |
76 |
81 |
82 |
83 |
84 |
87 |
88 |
89 |
90 |
91 | - CTD()
92 | : CTD
93 |
94 | - CTU()
95 | : CTU
96 |
97 | - CTUD()
98 | : CTUD
99 |
100 | - F_TRIG()
101 | : F_TRIG
102 |
103 | - process()
104 | : CTD
105 | , CTU
106 | , CTUD
107 | , F_TRIG
108 | , R_TRIG
109 | , SEMA
110 | , TOF
111 | , TON
112 | , TP
113 |
114 | - R_TRIG()
115 | : R_TRIG
116 |
117 | - TOF()
118 | : TOF
119 |
120 | - TON()
121 | : TON
122 |
123 | - TP()
124 | : TP
125 |
126 |
127 |
128 |
129 |
134 |
135 |
136 |
--------------------------------------------------------------------------------
/doc/html/functions_vars.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | arduino_stdlib: Class Members - Variables
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | arduino_stdlib
26 |
27 | |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
60 |
67 |
74 |
75 |
76 | - b
77 | - c
78 | - e
79 | - i
80 | - l
81 | - p
82 | - q
83 | - r
84 |
85 |
86 |
87 |
88 |
93 |
94 |
95 |
96 |
99 |
100 |
101 |
102 |
103 |
104 |
- b -
105 | - BUSY
106 | : SEMA
107 |
108 |
109 |
110 |
111 |
- c -
112 | - CD
113 | : CTD
114 | , CTUD
115 |
116 | - CLAIM
117 | : SEMA
118 |
119 | - CLK
120 | : F_TRIG
121 | , R_TRIG
122 |
123 | - CU
124 | : CTU
125 | , CTUD
126 |
127 | - CV
128 | : CTD
129 | , CTU
130 | , CTUD
131 |
132 |
133 |
134 |
135 |
- e -
136 | - ET
137 | : TOF
138 | , TON
139 | , TP
140 |
141 |
142 |
143 |
144 |
- i -
145 | - IN
146 | : TOF
147 | , TON
148 | , TP
149 |
150 |
151 |
152 |
153 |
- l -
154 | - LOAD
155 | : CTD
156 | , CTUD
157 |
158 |
159 |
160 |
161 |
- p -
162 | - PT
163 | : TOF
164 | , TON
165 | , TP
166 |
167 | - PV
168 | : CTD
169 | , CTU
170 | , CTUD
171 |
172 |
173 |
174 |
175 |
- q -
192 |
193 |
194 |
- r -
195 | - RELEASE
196 | : SEMA
197 |
198 | - RESET
199 | : CTU
200 | , CTUD
201 |
202 |
203 |
204 |
205 |
210 |
211 |
212 |
--------------------------------------------------------------------------------
/doc/html/nav_f.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/nav_f.png
--------------------------------------------------------------------------------
/doc/html/nav_g.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/nav_g.png
--------------------------------------------------------------------------------
/doc/html/nav_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/nav_h.png
--------------------------------------------------------------------------------
/doc/html/open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/open.png
--------------------------------------------------------------------------------
/doc/html/search/all_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/all_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['busy',['BUSY',['../class_s_e_m_a.html#af4df5a7c16c99bfc19f4902046ba26f9',1,'SEMA']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/html/search/all_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/all_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['cd',['CD',['../class_c_t_d.html#ade15745623f39829116fb8525297b382',1,'CTD::CD()'],['../class_c_t_u_d.html#a06b58e6714c8f3e6643d9b96834717be',1,'CTUD::CD()']]],
4 | ['claim',['CLAIM',['../class_s_e_m_a.html#a6d50fd4f36d3de131968fc4199e97a68',1,'SEMA']]],
5 | ['clk',['CLK',['../class_r___t_r_i_g.html#a354888f6dbad759f1abbf3fdd0a0bc73',1,'R_TRIG::CLK()'],['../class_f___t_r_i_g.html#abe250229fb5f6c3734eb5a6a232e2aa8',1,'F_TRIG::CLK()']]],
6 | ['ctd',['CTD',['../class_c_t_d.html',1,'CTD'],['../class_c_t_d.html#a70c920a1986050822484cadc287bb7ae',1,'CTD::CTD()']]],
7 | ['ctu',['CTU',['../class_c_t_u.html',1,'CTU'],['../class_c_t_u.html#a73aec9744f48a24011a19d249f4e51de',1,'CTU::CTU()']]],
8 | ['ctud',['CTUD',['../class_c_t_u_d.html',1,'CTUD'],['../class_c_t_u_d.html#a96e38119c51cd43a1c75f74cb7bbe2dc',1,'CTUD::CTUD()']]],
9 | ['cu',['CU',['../class_c_t_u.html#a1ca77d1736c5bc70534af4a98b482f3f',1,'CTU::CU()'],['../class_c_t_u_d.html#a164b62be6fa561c8886a75823908659b',1,'CTUD::CU()']]],
10 | ['cv',['CV',['../class_c_t_u.html#a0e8d9331cc4f9a8100f45bfa2e2634fb',1,'CTU::CV()'],['../class_c_t_d.html#ad9f84c5a683bc2701747f1e8351bb8b0',1,'CTD::CV()'],['../class_c_t_u_d.html#ad28300cf0f2a08ad2c9ee6fff0a4204a',1,'CTUD::CV()']]]
11 | ];
12 |
--------------------------------------------------------------------------------
/doc/html/search/all_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/all_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['et',['ET',['../class_t_p.html#a007a9fb0971da76fefd43810c5cc0ef8',1,'TP::ET()'],['../class_t_o_n.html#adf64c0fcf5018f4c20e49966003185ba',1,'TON::ET()'],['../class_t_o_f.html#ace0c91cc206c62a2f774e267a4210aa1',1,'TOF::ET()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/html/search/all_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/all_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['f_5ftrig',['F_TRIG',['../class_f___t_r_i_g.html',1,'F_TRIG'],['../class_f___t_r_i_g.html#ab9d75d228a8576d4a5866587626b0c9d',1,'F_TRIG::F_TRIG()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/html/search/all_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/all_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['in',['IN',['../class_t_p.html#abf05931643d0205dd375b3c92d69bacb',1,'TP::IN()'],['../class_t_o_n.html#a094db3c6705233bbc0e7c510282d3351',1,'TON::IN()'],['../class_t_o_f.html#a93883cdb7b40a16266790edaaf5c7365',1,'TOF::IN()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/html/search/all_5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/all_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['load',['LOAD',['../class_c_t_d.html#aaa629d0b3683a926213c38f589c14f4e',1,'CTD::LOAD()'],['../class_c_t_u_d.html#addf53940fd98cd954c5c249f3c1a353b',1,'CTUD::LOAD()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/html/search/all_6.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/all_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['process',['process',['../class_t_p.html#a9d092fb1cdb4c35df7a54058b9e300ba',1,'TP::process()'],['../class_t_p.html#a14c35aacabbced25a8f529476f420f54',1,'TP::process(boolean in)'],['../class_t_o_n.html#ac38e012a415e93cada3d54e80b123245',1,'TON::process()'],['../class_t_o_n.html#a00e2a9cd0d5576cb7fb9f74d1d07b545',1,'TON::process(boolean in)'],['../class_t_o_f.html#aaa214571b4daf4b953de11027bb76f02',1,'TOF::process()'],['../class_t_o_f.html#a4948e872fe2550eda0bac625d16a2536',1,'TOF::process(boolean in)'],['../class_r___t_r_i_g.html#af0d63ce4f3a41989ff127e0d52f038e3',1,'R_TRIG::process()'],['../class_r___t_r_i_g.html#af2a831b21b80656cd4e25585d940805e',1,'R_TRIG::process(boolean clk)'],['../class_f___t_r_i_g.html#a50728be6f5641d091c75c2bd5a865750',1,'F_TRIG::process()'],['../class_f___t_r_i_g.html#ae90a3b6c8501582d1795761943d19f7f',1,'F_TRIG::process(boolean clk)'],['../class_s_e_m_a.html#acf691410eccec2dafad4f12f9a5e4302',1,'SEMA::process()'],['../class_s_e_m_a.html#a8e8c20a2231d22ee4b31aae82fdb2fae',1,'SEMA::process(boolean claim, boolean release)'],['../class_c_t_u.html#a6453b660e7f6db9831eabbebf7814cfd',1,'CTU::process()'],['../class_c_t_u.html#ab590ec124b49bd6e6420ccb50bb8f1a7',1,'CTU::process(boolean cu, boolean reset)'],['../class_c_t_d.html#ad270814442d956e0690a24394a29d705',1,'CTD::process()'],['../class_c_t_d.html#a306e2f0f4f9b68c4e5555c7c0dfb999a',1,'CTD::process(boolean cd, boolean load)'],['../class_c_t_u_d.html#af4151c12cf8d3a9cd596c07c37356054',1,'CTUD::process()'],['../class_c_t_u_d.html#ad322d3845ddeaa33c048bd60811bd4b5',1,'CTUD::process(boolean cu, boolean cd, boolean reset, boolean load)']]],
4 | ['pt',['PT',['../class_t_p.html#a12b46375a72572c699f3f2396e43a64b',1,'TP::PT()'],['../class_t_o_n.html#a7fa59ffa01c081cc6c1f6f0379d616d0',1,'TON::PT()'],['../class_t_o_f.html#a17d9d8b4fe947a7c2ea90d1df23d78d9',1,'TOF::PT()']]],
5 | ['pv',['PV',['../class_c_t_u.html#a12e9aef6591b14b8c96773fadf39ef59',1,'CTU::PV()'],['../class_c_t_d.html#ae48de1c4b48bf3ffda653c0fc2a0e164',1,'CTD::PV()'],['../class_c_t_u_d.html#aff5f44a7ce5e427e887bca3613a32286',1,'CTUD::PV()']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doc/html/search/all_7.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/all_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['q',['Q',['../class_t_p.html#ac5074a17ff9502b17238059e09b1816f',1,'TP::Q()'],['../class_t_o_n.html#ae3f41411363357b969628e2cc23d7036',1,'TON::Q()'],['../class_t_o_f.html#a3935bf275e875177ccaa9f92d14eb705',1,'TOF::Q()'],['../class_r___t_r_i_g.html#a85d127c773b82a98f2ac1d0b33824240',1,'R_TRIG::Q()'],['../class_f___t_r_i_g.html#a56548c121c78806a44344a5d928e3a46',1,'F_TRIG::Q()'],['../class_c_t_u.html#a36cd73bb93f1d4c6b59de043729eb911',1,'CTU::Q()'],['../class_c_t_d.html#a590244f1247336358ac65d7fbd96d73c',1,'CTD::Q()']]],
4 | ['qd',['QD',['../class_c_t_u_d.html#a129e260ead540c330ebc10835d65cc61',1,'CTUD']]],
5 | ['qu',['QU',['../class_c_t_u_d.html#ada55c366ad747efc6af3f57be46e6878',1,'CTUD']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doc/html/search/all_8.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/all_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['r_5ftrig',['R_TRIG',['../class_r___t_r_i_g.html',1,'R_TRIG'],['../class_r___t_r_i_g.html#af37e2db08790615bac8ba59f67951bb9',1,'R_TRIG::R_TRIG()']]],
4 | ['release',['RELEASE',['../class_s_e_m_a.html#a2660b1bd98ee2aac42e34d10179d6a4f',1,'SEMA']]],
5 | ['reset',['RESET',['../class_c_t_u.html#a704b3a346e50150df241022a63067242',1,'CTU::RESET()'],['../class_c_t_u_d.html#ab88288e28bb006295738b6f3ecce9527',1,'CTUD::RESET()']]],
6 | ['rs',['RS',['../class_r_s.html',1,'']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/doc/html/search/all_9.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/all_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['sema',['SEMA',['../class_s_e_m_a.html',1,'']]],
4 | ['sr',['SR',['../class_s_r.html',1,'']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doc/html/search/all_a.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/all_a.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['tof',['TOF',['../class_t_o_f.html',1,'TOF'],['../class_t_o_f.html#a2c7e1d7e4f237e3aeb174650e853d680',1,'TOF::TOF()']]],
4 | ['ton',['TON',['../class_t_o_n.html',1,'TON'],['../class_t_o_n.html#a7f2cc077398ea97c462fd3b42af8317e',1,'TON::TON()']]],
5 | ['tp',['TP',['../class_t_p.html',1,'TP'],['../class_t_p.html#a08928fbde718d113a43dcca52f41a2dd',1,'TP::TP()'],['../class_t_p.html#a1c8080e7403ab14602b49da2f62da702',1,'TP::TP(ulong pt)']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doc/html/search/classes_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/classes_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['ctd',['CTD',['../class_c_t_d.html',1,'']]],
4 | ['ctu',['CTU',['../class_c_t_u.html',1,'']]],
5 | ['ctud',['CTUD',['../class_c_t_u_d.html',1,'']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doc/html/search/classes_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/classes_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['f_5ftrig',['F_TRIG',['../class_f___t_r_i_g.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/html/search/classes_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/classes_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['r_5ftrig',['R_TRIG',['../class_r___t_r_i_g.html',1,'']]],
4 | ['rs',['RS',['../class_r_s.html',1,'']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doc/html/search/classes_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/classes_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['sema',['SEMA',['../class_s_e_m_a.html',1,'']]],
4 | ['sr',['SR',['../class_s_r.html',1,'']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doc/html/search/classes_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/classes_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['tof',['TOF',['../class_t_o_f.html',1,'']]],
4 | ['ton',['TON',['../class_t_o_n.html',1,'']]],
5 | ['tp',['TP',['../class_t_p.html',1,'']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doc/html/search/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/search/close.png
--------------------------------------------------------------------------------
/doc/html/search/functions_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/functions_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['ctd',['CTD',['../class_c_t_d.html#a70c920a1986050822484cadc287bb7ae',1,'CTD']]],
4 | ['ctu',['CTU',['../class_c_t_u.html#a73aec9744f48a24011a19d249f4e51de',1,'CTU']]],
5 | ['ctud',['CTUD',['../class_c_t_u_d.html#a96e38119c51cd43a1c75f74cb7bbe2dc',1,'CTUD']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doc/html/search/functions_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/functions_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['f_5ftrig',['F_TRIG',['../class_f___t_r_i_g.html#ab9d75d228a8576d4a5866587626b0c9d',1,'F_TRIG']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/html/search/functions_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/functions_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['process',['process',['../class_t_p.html#a9d092fb1cdb4c35df7a54058b9e300ba',1,'TP::process()'],['../class_t_p.html#a14c35aacabbced25a8f529476f420f54',1,'TP::process(boolean in)'],['../class_t_o_n.html#ac38e012a415e93cada3d54e80b123245',1,'TON::process()'],['../class_t_o_n.html#a00e2a9cd0d5576cb7fb9f74d1d07b545',1,'TON::process(boolean in)'],['../class_t_o_f.html#aaa214571b4daf4b953de11027bb76f02',1,'TOF::process()'],['../class_t_o_f.html#a4948e872fe2550eda0bac625d16a2536',1,'TOF::process(boolean in)'],['../class_r___t_r_i_g.html#af0d63ce4f3a41989ff127e0d52f038e3',1,'R_TRIG::process()'],['../class_r___t_r_i_g.html#af2a831b21b80656cd4e25585d940805e',1,'R_TRIG::process(boolean clk)'],['../class_f___t_r_i_g.html#a50728be6f5641d091c75c2bd5a865750',1,'F_TRIG::process()'],['../class_f___t_r_i_g.html#ae90a3b6c8501582d1795761943d19f7f',1,'F_TRIG::process(boolean clk)'],['../class_s_e_m_a.html#acf691410eccec2dafad4f12f9a5e4302',1,'SEMA::process()'],['../class_s_e_m_a.html#a8e8c20a2231d22ee4b31aae82fdb2fae',1,'SEMA::process(boolean claim, boolean release)'],['../class_c_t_u.html#a6453b660e7f6db9831eabbebf7814cfd',1,'CTU::process()'],['../class_c_t_u.html#ab590ec124b49bd6e6420ccb50bb8f1a7',1,'CTU::process(boolean cu, boolean reset)'],['../class_c_t_d.html#ad270814442d956e0690a24394a29d705',1,'CTD::process()'],['../class_c_t_d.html#a306e2f0f4f9b68c4e5555c7c0dfb999a',1,'CTD::process(boolean cd, boolean load)'],['../class_c_t_u_d.html#af4151c12cf8d3a9cd596c07c37356054',1,'CTUD::process()'],['../class_c_t_u_d.html#ad322d3845ddeaa33c048bd60811bd4b5',1,'CTUD::process(boolean cu, boolean cd, boolean reset, boolean load)']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/html/search/functions_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/functions_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['r_5ftrig',['R_TRIG',['../class_r___t_r_i_g.html#af37e2db08790615bac8ba59f67951bb9',1,'R_TRIG']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/html/search/functions_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/functions_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['tof',['TOF',['../class_t_o_f.html#a2c7e1d7e4f237e3aeb174650e853d680',1,'TOF']]],
4 | ['ton',['TON',['../class_t_o_n.html#a7f2cc077398ea97c462fd3b42af8317e',1,'TON']]],
5 | ['tp',['TP',['../class_t_p.html#a08928fbde718d113a43dcca52f41a2dd',1,'TP::TP()'],['../class_t_p.html#a1c8080e7403ab14602b49da2f62da702',1,'TP::TP(ulong pt)']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doc/html/search/mag_sel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/search/mag_sel.png
--------------------------------------------------------------------------------
/doc/html/search/nomatches.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/doc/html/search/search.css:
--------------------------------------------------------------------------------
1 | /*---------------- Search Box */
2 |
3 | #FSearchBox {
4 | float: left;
5 | }
6 |
7 | #MSearchBox {
8 | white-space : nowrap;
9 | position: absolute;
10 | float: none;
11 | display: inline;
12 | margin-top: 8px;
13 | right: 0px;
14 | width: 170px;
15 | z-index: 102;
16 | background-color: white;
17 | }
18 |
19 | #MSearchBox .left
20 | {
21 | display:block;
22 | position:absolute;
23 | left:10px;
24 | width:20px;
25 | height:19px;
26 | background:url('search_l.png') no-repeat;
27 | background-position:right;
28 | }
29 |
30 | #MSearchSelect {
31 | display:block;
32 | position:absolute;
33 | width:20px;
34 | height:19px;
35 | }
36 |
37 | .left #MSearchSelect {
38 | left:4px;
39 | }
40 |
41 | .right #MSearchSelect {
42 | right:5px;
43 | }
44 |
45 | #MSearchField {
46 | display:block;
47 | position:absolute;
48 | height:19px;
49 | background:url('search_m.png') repeat-x;
50 | border:none;
51 | width:111px;
52 | margin-left:20px;
53 | padding-left:4px;
54 | color: #909090;
55 | outline: none;
56 | font: 9pt Arial, Verdana, sans-serif;
57 | }
58 |
59 | #FSearchBox #MSearchField {
60 | margin-left:15px;
61 | }
62 |
63 | #MSearchBox .right {
64 | display:block;
65 | position:absolute;
66 | right:10px;
67 | top:0px;
68 | width:20px;
69 | height:19px;
70 | background:url('search_r.png') no-repeat;
71 | background-position:left;
72 | }
73 |
74 | #MSearchClose {
75 | display: none;
76 | position: absolute;
77 | top: 4px;
78 | background : none;
79 | border: none;
80 | margin: 0px 4px 0px 0px;
81 | padding: 0px 0px;
82 | outline: none;
83 | }
84 |
85 | .left #MSearchClose {
86 | left: 6px;
87 | }
88 |
89 | .right #MSearchClose {
90 | right: 2px;
91 | }
92 |
93 | .MSearchBoxActive #MSearchField {
94 | color: #000000;
95 | }
96 |
97 | /*---------------- Search filter selection */
98 |
99 | #MSearchSelectWindow {
100 | display: none;
101 | position: absolute;
102 | left: 0; top: 0;
103 | border: 1px solid #90A5CE;
104 | background-color: #F9FAFC;
105 | z-index: 1;
106 | padding-top: 4px;
107 | padding-bottom: 4px;
108 | -moz-border-radius: 4px;
109 | -webkit-border-top-left-radius: 4px;
110 | -webkit-border-top-right-radius: 4px;
111 | -webkit-border-bottom-left-radius: 4px;
112 | -webkit-border-bottom-right-radius: 4px;
113 | -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
114 | }
115 |
116 | .SelectItem {
117 | font: 8pt Arial, Verdana, sans-serif;
118 | padding-left: 2px;
119 | padding-right: 12px;
120 | border: 0px;
121 | }
122 |
123 | span.SelectionMark {
124 | margin-right: 4px;
125 | font-family: monospace;
126 | outline-style: none;
127 | text-decoration: none;
128 | }
129 |
130 | a.SelectItem {
131 | display: block;
132 | outline-style: none;
133 | color: #000000;
134 | text-decoration: none;
135 | padding-left: 6px;
136 | padding-right: 12px;
137 | }
138 |
139 | a.SelectItem:focus,
140 | a.SelectItem:active {
141 | color: #000000;
142 | outline-style: none;
143 | text-decoration: none;
144 | }
145 |
146 | a.SelectItem:hover {
147 | color: #FFFFFF;
148 | background-color: #3D578C;
149 | outline-style: none;
150 | text-decoration: none;
151 | cursor: pointer;
152 | display: block;
153 | }
154 |
155 | /*---------------- Search results window */
156 |
157 | iframe#MSearchResults {
158 | width: 60ex;
159 | height: 15em;
160 | }
161 |
162 | #MSearchResultsWindow {
163 | display: none;
164 | position: absolute;
165 | left: 0; top: 0;
166 | border: 1px solid #000;
167 | background-color: #EEF1F7;
168 | }
169 |
170 | /* ----------------------------------- */
171 |
172 |
173 | #SRIndex {
174 | clear:both;
175 | padding-bottom: 15px;
176 | }
177 |
178 | .SREntry {
179 | font-size: 10pt;
180 | padding-left: 1ex;
181 | }
182 |
183 | .SRPage .SREntry {
184 | font-size: 8pt;
185 | padding: 1px 5px;
186 | }
187 |
188 | body.SRPage {
189 | margin: 5px 2px;
190 | }
191 |
192 | .SRChildren {
193 | padding-left: 3ex; padding-bottom: .5em
194 | }
195 |
196 | .SRPage .SRChildren {
197 | display: none;
198 | }
199 |
200 | .SRSymbol {
201 | font-weight: bold;
202 | color: #425E97;
203 | font-family: Arial, Verdana, sans-serif;
204 | text-decoration: none;
205 | outline: none;
206 | }
207 |
208 | a.SRScope {
209 | display: block;
210 | color: #425E97;
211 | font-family: Arial, Verdana, sans-serif;
212 | text-decoration: none;
213 | outline: none;
214 | }
215 |
216 | a.SRSymbol:focus, a.SRSymbol:active,
217 | a.SRScope:focus, a.SRScope:active {
218 | text-decoration: underline;
219 | }
220 |
221 | span.SRScope {
222 | padding-left: 4px;
223 | }
224 |
225 | .SRPage .SRStatus {
226 | padding: 2px 5px;
227 | font-size: 8pt;
228 | font-style: italic;
229 | }
230 |
231 | .SRResult {
232 | display: none;
233 | }
234 |
235 | DIV.searchresults {
236 | margin-left: 10px;
237 | margin-right: 10px;
238 | }
239 |
240 | /*---------------- External search page results */
241 |
242 | .searchresult {
243 | background-color: #F0F3F8;
244 | }
245 |
246 | .pages b {
247 | color: white;
248 | padding: 5px 5px 3px 5px;
249 | background-image: url("../tab_a.png");
250 | background-repeat: repeat-x;
251 | text-shadow: 0 1px 1px #000000;
252 | }
253 |
254 | .pages {
255 | line-height: 17px;
256 | margin-left: 4px;
257 | text-decoration: none;
258 | }
259 |
260 | .hl {
261 | font-weight: bold;
262 | }
263 |
264 | #searchresults {
265 | margin-bottom: 20px;
266 | }
267 |
268 | .searchpages {
269 | margin-top: 10px;
270 | }
271 |
272 |
--------------------------------------------------------------------------------
/doc/html/search/search_l.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/search/search_l.png
--------------------------------------------------------------------------------
/doc/html/search/search_m.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/search/search_m.png
--------------------------------------------------------------------------------
/doc/html/search/search_r.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/search/search_r.png
--------------------------------------------------------------------------------
/doc/html/search/searchdata.js:
--------------------------------------------------------------------------------
1 | var indexSectionsWithContent =
2 | {
3 | 0: "bcefilpqrst",
4 | 1: "cfrst",
5 | 2: "cfprt",
6 | 3: "bceilpqr"
7 | };
8 |
9 | var indexSectionNames =
10 | {
11 | 0: "all",
12 | 1: "classes",
13 | 2: "functions",
14 | 3: "variables"
15 | };
16 |
17 | var indexSectionLabels =
18 | {
19 | 0: "All",
20 | 1: "Classes",
21 | 2: "Functions",
22 | 3: "Variables"
23 | };
24 |
25 |
--------------------------------------------------------------------------------
/doc/html/search/variables_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/variables_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['busy',['BUSY',['../class_s_e_m_a.html#af4df5a7c16c99bfc19f4902046ba26f9',1,'SEMA']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/html/search/variables_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/variables_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['cd',['CD',['../class_c_t_d.html#ade15745623f39829116fb8525297b382',1,'CTD::CD()'],['../class_c_t_u_d.html#a06b58e6714c8f3e6643d9b96834717be',1,'CTUD::CD()']]],
4 | ['claim',['CLAIM',['../class_s_e_m_a.html#a6d50fd4f36d3de131968fc4199e97a68',1,'SEMA']]],
5 | ['clk',['CLK',['../class_r___t_r_i_g.html#a354888f6dbad759f1abbf3fdd0a0bc73',1,'R_TRIG::CLK()'],['../class_f___t_r_i_g.html#abe250229fb5f6c3734eb5a6a232e2aa8',1,'F_TRIG::CLK()']]],
6 | ['cu',['CU',['../class_c_t_u.html#a1ca77d1736c5bc70534af4a98b482f3f',1,'CTU::CU()'],['../class_c_t_u_d.html#a164b62be6fa561c8886a75823908659b',1,'CTUD::CU()']]],
7 | ['cv',['CV',['../class_c_t_u.html#a0e8d9331cc4f9a8100f45bfa2e2634fb',1,'CTU::CV()'],['../class_c_t_d.html#ad9f84c5a683bc2701747f1e8351bb8b0',1,'CTD::CV()'],['../class_c_t_u_d.html#ad28300cf0f2a08ad2c9ee6fff0a4204a',1,'CTUD::CV()']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/doc/html/search/variables_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/variables_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['et',['ET',['../class_t_p.html#a007a9fb0971da76fefd43810c5cc0ef8',1,'TP::ET()'],['../class_t_o_n.html#adf64c0fcf5018f4c20e49966003185ba',1,'TON::ET()'],['../class_t_o_f.html#ace0c91cc206c62a2f774e267a4210aa1',1,'TOF::ET()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/html/search/variables_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/variables_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['in',['IN',['../class_t_p.html#abf05931643d0205dd375b3c92d69bacb',1,'TP::IN()'],['../class_t_o_n.html#a094db3c6705233bbc0e7c510282d3351',1,'TON::IN()'],['../class_t_o_f.html#a93883cdb7b40a16266790edaaf5c7365',1,'TOF::IN()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/html/search/variables_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/variables_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['load',['LOAD',['../class_c_t_d.html#aaa629d0b3683a926213c38f589c14f4e',1,'CTD::LOAD()'],['../class_c_t_u_d.html#addf53940fd98cd954c5c249f3c1a353b',1,'CTUD::LOAD()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/html/search/variables_5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/variables_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['pt',['PT',['../class_t_p.html#a12b46375a72572c699f3f2396e43a64b',1,'TP::PT()'],['../class_t_o_n.html#a7fa59ffa01c081cc6c1f6f0379d616d0',1,'TON::PT()'],['../class_t_o_f.html#a17d9d8b4fe947a7c2ea90d1df23d78d9',1,'TOF::PT()']]],
4 | ['pv',['PV',['../class_c_t_u.html#a12e9aef6591b14b8c96773fadf39ef59',1,'CTU::PV()'],['../class_c_t_d.html#ae48de1c4b48bf3ffda653c0fc2a0e164',1,'CTD::PV()'],['../class_c_t_u_d.html#aff5f44a7ce5e427e887bca3613a32286',1,'CTUD::PV()']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doc/html/search/variables_6.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/variables_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['q',['Q',['../class_t_p.html#ac5074a17ff9502b17238059e09b1816f',1,'TP::Q()'],['../class_t_o_n.html#ae3f41411363357b969628e2cc23d7036',1,'TON::Q()'],['../class_t_o_f.html#a3935bf275e875177ccaa9f92d14eb705',1,'TOF::Q()'],['../class_r___t_r_i_g.html#a85d127c773b82a98f2ac1d0b33824240',1,'R_TRIG::Q()'],['../class_f___t_r_i_g.html#a56548c121c78806a44344a5d928e3a46',1,'F_TRIG::Q()'],['../class_c_t_u.html#a36cd73bb93f1d4c6b59de043729eb911',1,'CTU::Q()'],['../class_c_t_d.html#a590244f1247336358ac65d7fbd96d73c',1,'CTD::Q()']]],
4 | ['qd',['QD',['../class_c_t_u_d.html#a129e260ead540c330ebc10835d65cc61',1,'CTUD']]],
5 | ['qu',['QU',['../class_c_t_u_d.html#ada55c366ad747efc6af3f57be46e6878',1,'CTUD']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doc/html/search/variables_7.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/html/search/variables_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['release',['RELEASE',['../class_s_e_m_a.html#a2660b1bd98ee2aac42e34d10179d6a4f',1,'SEMA']]],
4 | ['reset',['RESET',['../class_c_t_u.html#a704b3a346e50150df241022a63067242',1,'CTU::RESET()'],['../class_c_t_u_d.html#ab88288e28bb006295738b6f3ecce9527',1,'CTUD::RESET()']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doc/html/splitbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/splitbar.png
--------------------------------------------------------------------------------
/doc/html/sync_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/sync_off.png
--------------------------------------------------------------------------------
/doc/html/sync_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/sync_on.png
--------------------------------------------------------------------------------
/doc/html/tab_a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/tab_a.png
--------------------------------------------------------------------------------
/doc/html/tab_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/tab_b.png
--------------------------------------------------------------------------------
/doc/html/tab_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/tab_h.png
--------------------------------------------------------------------------------
/doc/html/tab_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stlehmann/arduino_plclib/d438feb167ebee0a72a3c5618ab0c44af92f14d0/doc/html/tab_s.png
--------------------------------------------------------------------------------
/doc/html/tabs.css:
--------------------------------------------------------------------------------
1 | .tabs, .tabs2, .tabs3 {
2 | background-image: url('tab_b.png');
3 | width: 100%;
4 | z-index: 101;
5 | font-size: 13px;
6 | font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
7 | }
8 |
9 | .tabs2 {
10 | font-size: 10px;
11 | }
12 | .tabs3 {
13 | font-size: 9px;
14 | }
15 |
16 | .tablist {
17 | margin: 0;
18 | padding: 0;
19 | display: table;
20 | }
21 |
22 | .tablist li {
23 | float: left;
24 | display: table-cell;
25 | background-image: url('tab_b.png');
26 | line-height: 36px;
27 | list-style: none;
28 | }
29 |
30 | .tablist a {
31 | display: block;
32 | padding: 0 20px;
33 | font-weight: bold;
34 | background-image:url('tab_s.png');
35 | background-repeat:no-repeat;
36 | background-position:right;
37 | color: #283A5D;
38 | text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
39 | text-decoration: none;
40 | outline: none;
41 | }
42 |
43 | .tabs3 .tablist a {
44 | padding: 0 10px;
45 | }
46 |
47 | .tablist a:hover {
48 | background-image: url('tab_h.png');
49 | background-repeat:repeat-x;
50 | color: #fff;
51 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
52 | text-decoration: none;
53 | }
54 |
55 | .tablist li.current a {
56 | background-image: url('tab_a.png');
57 | background-repeat:repeat-x;
58 | color: #fff;
59 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
60 | }
61 |
--------------------------------------------------------------------------------
/examples/counter/ctd/ctd.ino:
--------------------------------------------------------------------------------
1 | #include "plclib.h"
2 | #define X0 2
3 | #define X1 3
4 |
5 | CTD ctd;
6 | R_TRIG rtrig;
7 |
8 | void setup() {
9 | pinMode(X0, INPUT_PULLUP);
10 | pinMode(X1, INPUT_PULLUP);
11 | Serial.begin(9600);
12 | ctd.PV = 10; //set upper limit of counter
13 | }
14 |
15 | void loop() {
16 | boolean x0 = !digitalRead(X0); //count up
17 | boolean x1 = !digitalRead(X1); //reset
18 | ctd.process(x0, x1);
19 | rtrig.process(x0 || x1);
20 |
21 | if (rtrig.Q) {
22 | Serial.print("Counter: ");
23 | Serial.print(ctd.CV);
24 | Serial.print(", ");
25 | Serial.print("Output: ");
26 | Serial.println(ctd.Q);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/examples/counter/ctu/ctu.ino:
--------------------------------------------------------------------------------
1 | #include "plclib.h"
2 | #define X0 2
3 | #define X1 3
4 |
5 | CTU ctu;
6 | R_TRIG rtrig;
7 |
8 | void setup() {
9 | pinMode(X0, INPUT_PULLUP);
10 | pinMode(X1, INPUT_PULLUP);
11 | Serial.begin(9600);
12 | ctu.PV = 10; //set upper limit of counter
13 | }
14 |
15 | void loop() {
16 | boolean x0 = !digitalRead(X0); //count up
17 | boolean x1 = !digitalRead(X1); //reset
18 | ctu.process(x0, x1);
19 | rtrig.process(x0 || x1);
20 |
21 | if (rtrig.Q) {
22 | Serial.print("Counter: ");
23 | Serial.print(ctu.CV);
24 | Serial.print(", ");
25 | Serial.print("Output: ");
26 | Serial.println(ctu.Q);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/examples/counter/ctud/ctud.ino:
--------------------------------------------------------------------------------
1 | #include "plclib.h"
2 | #define X0 2
3 | #define X1 3
4 |
5 | CTUD ctud;
6 | R_TRIG rtrig;
7 |
8 | void setup() {
9 | pinMode(X0, INPUT_PULLUP);
10 | pinMode(X1, INPUT_PULLUP);
11 | Serial.begin(9600);
12 | ctud.PV = 10; //set upper limit of counter
13 | }
14 |
15 | void loop() {
16 | boolean x0 = !digitalRead(X0); //count up
17 | boolean x1 = !digitalRead(X1); //count down
18 | boolean rst = x0 && x1; //reset
19 |
20 | ctud.CU = x0;
21 | ctud.CD = x1;
22 | ctud.RESET = rst;
23 | ctud.process();
24 | rtrig.process(x0 || x1 || rst);
25 |
26 | if (rtrig.Q) {
27 | Serial.print("Counter: ");
28 | Serial.print(ctud.CV);
29 | Serial.print(", QU: ");
30 | Serial.print(ctud.QU);
31 | Serial.print(", QD: ");
32 | Serial.println(ctud.QD);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/examples/edge_detection/edge_detection.ino:
--------------------------------------------------------------------------------
1 | #include "plclib.h"
2 | #define X0 2
3 |
4 | R_TRIG rtrig; //detect rising edges
5 | F_TRIG ftrig; //detect falling edges
6 |
7 | void setup() {
8 | pinMode(X0, INPUT_PULLUP);
9 | Serial.begin(9600);
10 | }
11 |
12 | void loop() {
13 | boolean x0 = !digitalRead(X0);
14 | rtrig.process(x0);
15 | ftrig.process(x0);
16 | if (rtrig.Q) {
17 | Serial.println("This was a rising edge.");
18 | }
19 | if (ftrig.Q) {
20 | Serial.println("This was a falling edge.");
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/examples/latches/rs_latch/rs_latch.ino:
--------------------------------------------------------------------------------
1 | #include "plclib.h"
2 | #define X0 2
3 | #define X1 3
4 |
5 | RS rs_latch;
6 | R_TRIG rtrig;
7 | F_TRIG ftrig;
8 |
9 | void setup() {
10 | pinMode(X0, INPUT_PULLUP);
11 | pinMode(X1, INPUT_PULLUP);
12 | Serial.begin(9600);
13 | }
14 |
15 | void loop() {
16 | boolean x0 = !digitalRead(X0); //set switch
17 | boolean x1 = !digitalRead(X1); //reset switch
18 |
19 | rs_latch.process(x0, x1);
20 | rtrig.process(rs_latch.Q1);
21 | ftrig.process(rs_latch.Q1);
22 |
23 | if (rtrig.Q) {
24 | Serial.println("On");
25 | }
26 | if (ftrig.Q) {
27 | Serial.println("Off");
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/examples/latches/semaphore/semaphore.ino:
--------------------------------------------------------------------------------
1 | #include "plclib.h"
2 | #define X0 2
3 | #define X1 3
4 |
5 | SEMA semaphore;
6 | R_TRIG trigger;
7 |
8 | void setup() {
9 | pinMode(X0, INPUT_PULLUP);
10 | pinMode(X1, INPUT_PULLUP);
11 | Serial.begin(9600);
12 | }
13 |
14 | void loop() {
15 | boolean x0 = !digitalRead(X0); //claim
16 | boolean x1 = !digitalRead(X1); //release
17 | boolean was_busy = semaphore.BUSY;
18 | semaphore.CLAIM = x0;
19 | semaphore.RELEASE = x1;
20 | semaphore.process();
21 | trigger.process(x0 || x1);
22 | if (trigger.Q) {
23 | if (x0) {
24 | if (semaphore.BUSY) {
25 | Serial.println("Resource is busy.");
26 | }
27 | else {
28 | Serial.println("Resource claimed successfully.");
29 | }
30 | }
31 | if (x1) {
32 | if (was_busy) {
33 | Serial.println("Resource released.");
34 | }
35 | else {
36 | Serial.println("Nothing to release.");
37 | }
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/examples/latches/sr_latch/sr_latch.ino:
--------------------------------------------------------------------------------
1 | #include "plclib.h"
2 | #define X0 2
3 | #define X1 3
4 |
5 | SR sr_latch;
6 | R_TRIG rtrig;
7 | F_TRIG ftrig;
8 |
9 | void setup() {
10 | pinMode(X0, INPUT_PULLUP);
11 | pinMode(X1, INPUT_PULLUP);
12 | Serial.begin(9600);
13 | }
14 |
15 | void loop() {
16 | boolean x0 = !digitalRead(X0); //set switch
17 | boolean x1 = !digitalRead(X1); //reset switch
18 |
19 | sr_latch.process(x0, x1);
20 | rtrig.process(sr_latch.Q1);
21 | ftrig.process(sr_latch.Q1);
22 |
23 | if (rtrig.Q) {
24 | Serial.println("On");
25 | }
26 | if (ftrig.Q) {
27 | Serial.println("Off");
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/examples/timer/tof/tof.ino:
--------------------------------------------------------------------------------
1 | #include "plclib.h"
2 | #define X0 2
3 |
4 | TOF tof(1000); // Initialise ton delay object
5 | F_TRIG ftrig;
6 |
7 | void setup() {
8 | Serial.begin(9600);
9 | pinMode(X0, INPUT_PULLUP);
10 | }
11 |
12 | void loop() {
13 | boolean x0 = !digitalRead(X0);
14 | tof.process(x0);
15 | ftrig.process(tof.Q);
16 |
17 | if (ftrig.Q) {
18 | Serial.println("I waited 1 second.");
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/examples/timer/ton/ton.ino:
--------------------------------------------------------------------------------
1 | #include "plclib.h"
2 |
3 | #define X0 2
4 |
5 | TON ton(1000); // Initialise ton delay object
6 | R_TRIG rtrig;
7 |
8 | void setup() {
9 | Serial.begin(9600);
10 | pinMode(X0, INPUT_PULLUP);
11 | }
12 |
13 | void loop() {
14 | boolean x0 = !digitalRead(X0);
15 |
16 | ton.process(x0);
17 | rtrig.process(ton.Q);
18 |
19 | if (rtrig.Q) {
20 | Serial.println("I waited 1 second.");
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/examples/timer/tp/tp.ino:
--------------------------------------------------------------------------------
1 | #include "plclib.h"
2 |
3 | #define X0 2
4 |
5 | TP tp(1000); // Initialise ton delay object
6 | R_TRIG rtrig;
7 | F_TRIG ftrig;
8 |
9 | void setup() {
10 | Serial.begin(9600);
11 | pinMode(X0, INPUT_PULLUP);
12 | }
13 |
14 | void loop() {
15 | boolean x0 = !digitalRead(X0);
16 |
17 | tp.process(x0);
18 | rtrig.process(tp.Q);
19 | ftrig.process(tp.Q);
20 |
21 | if (rtrig.Q) {
22 | Serial.println("Impulse comming.");
23 | }
24 | if (ftrig.Q) {
25 | Serial.println("Impulse going.");
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/keywords.txt:
--------------------------------------------------------------------------------
1 | # Syntax highlighting for plc_standardlib
2 |
3 | # Library name - KEYWORD1
4 | plc_standardlib KEYWORD1
5 |
6 | # TYPE names - KEYWORD1
7 | TON KEYWORD1
8 | TOF KEYWORD1
9 | R_TRIG KEYWORD1
10 | F_TRIG KEYWORD1
11 | SR KEYWORD1
12 | RS KEYWORD1
13 |
--------------------------------------------------------------------------------
/plclib.cpp:
--------------------------------------------------------------------------------
1 | #include "plclib.h"
2 |
3 | /*
4 | TP
5 | */
6 | TP::TP() {
7 | IN = false;
8 | PT = 0;
9 | Q = false;
10 | ET = 0;
11 | }
12 |
13 | TP::TP(ulong pt) {
14 | IN = false;
15 | PT = pt;
16 | Q = false;
17 | ET = 0;
18 | t0 = 0;
19 | }
20 |
21 | boolean TP::process() {
22 | if (IN) {
23 | if (t0==0) {
24 | t0 = millis();
25 | }
26 | }
27 | if (t0 > 0) {
28 | ET = millis() - t0;
29 | if (ET >= PT) {
30 | ET = PT;
31 | }
32 | }
33 | if (!IN && ET == PT) {
34 | t0 = 0;
35 | ET = 0;
36 | }
37 | Q = ET > 0 && ET < PT;
38 | return Q;
39 | }
40 |
41 | boolean TP::process(boolean in) {
42 | IN = in;
43 | return process();
44 | }
45 |
46 | /*
47 | TON
48 | */
49 | TON::TON(ulong pt) {
50 | IN = false;
51 | PT = pt;
52 | ET = 0;
53 | Q = false;
54 | t0 = 0;
55 | }
56 |
57 | boolean TON::process() {
58 | if (!IN) {
59 | ET = 0;
60 | t0 = 0;
61 | Q = false;
62 | }
63 | else {
64 | if (t0 == 0) {
65 | t0 = millis();
66 | }
67 | ET = millis() - t0;
68 | if (ET >= PT) {
69 | ET = PT;
70 | Q = true;
71 | }
72 | }
73 | return Q;
74 | }
75 |
76 | boolean TON::process(boolean in) {
77 | IN = in;
78 | return process();
79 | }
80 |
81 | /*
82 | TOF
83 | */
84 | TOF::TOF(ulong pt) {
85 | IN = false;
86 | PT = pt;
87 | ET = 0;
88 | Q = false;
89 | t0 = 0;
90 | }
91 |
92 | boolean TOF::process() {
93 | if (IN) {
94 | ET = 0;
95 | t0 = 0;
96 | Q = true;
97 | }
98 | else {
99 | if (t0 == 0) {
100 | t0 = millis();
101 | }
102 | ET = millis() - t0;
103 | }
104 | if (ET >= PT) {
105 | ET = PT;
106 | Q = false;
107 | }
108 | return Q;
109 | }
110 |
111 | boolean TOF::process(boolean in) {
112 | IN = in;
113 | return process();
114 | }
115 |
116 | /*
117 | R_TRIG
118 | */
119 | R_TRIG::R_TRIG() {
120 | CLK = false;
121 | Q = false;
122 | m = false;
123 | }
124 |
125 | boolean R_TRIG::process() {
126 | Q = CLK && !m;
127 | m = CLK;
128 | return Q;
129 | }
130 |
131 | boolean R_TRIG::process(boolean clk) {
132 | CLK = clk;
133 | return process();
134 | }
135 |
136 | /*
137 | F_TRIG
138 | */
139 | F_TRIG::F_TRIG() {
140 | CLK = false;
141 | Q = false;
142 | m = false;
143 | }
144 |
145 | boolean F_TRIG::process() {
146 | Q = !CLK && m;
147 | m = CLK;
148 | return Q;
149 | }
150 |
151 | boolean F_TRIG::process(boolean clk) {
152 | CLK = clk;
153 | return process();
154 | }
155 |
156 | /*
157 | SR
158 | */
159 | SR::SR() {
160 | SET1 = false;
161 | RESET = false;
162 | Q1 = false;
163 | }
164 |
165 | boolean SR::process() {
166 | if (SET1) {
167 | Q1 = true;
168 | }
169 | else {
170 | if (RESET) {
171 | Q1 = false;
172 | }
173 | }
174 | return Q1;
175 | }
176 |
177 | boolean SR::process(boolean set1, boolean reset) {
178 | SET1 = set1;
179 | RESET = reset;
180 | return process();
181 | }
182 |
183 | /*
184 | RS
185 | */
186 | RS::RS() {
187 | SET = false;
188 | RESET1 = false;
189 | Q1 = false;
190 | }
191 |
192 | boolean RS::process() {
193 | if (RESET1) {
194 | Q1 = false;
195 | }
196 | else {
197 | if (SET) {
198 | Q1 = true;
199 | }
200 | }
201 | return Q1;
202 | }
203 |
204 | boolean RS::process(boolean set, boolean reset1) {
205 | SET = set;
206 | RESET1 = reset1;
207 | return process();
208 | }
209 |
210 | /*
211 | SEMA
212 | */
213 | SEMA::SEMA() {
214 | CLAIM = false;
215 | RELEASE = false;
216 | BUSY = false;
217 | x = false;
218 | }
219 |
220 | boolean SEMA::process() {
221 | BUSY = x;
222 | if (CLAIM) {
223 | x = true;
224 | }
225 | else {
226 | if (RELEASE) {
227 | BUSY = false;
228 | x = false;
229 | }
230 | }
231 | return BUSY;
232 | }
233 |
234 | boolean SEMA::process(boolean claim, boolean release) {
235 | CLAIM = claim;
236 | RELEASE = release;
237 | return process();
238 | }
239 |
240 | /*
241 | CTU
242 | */
243 | CTU::CTU(uint pv) {
244 | CU = false;
245 | RESET = false;
246 | Q = false;
247 | PV = pv;
248 | CV = 0;
249 | cu_old = false;
250 | }
251 |
252 | boolean CTU::process() {
253 | if (RESET) {
254 | CV = 0;
255 | }
256 | if (CU &! cu_old) {
257 | CV++;
258 | }
259 | Q = (CV >= PV);
260 | cu_old = CU;
261 | return Q;
262 | }
263 |
264 | boolean CTU::process(boolean cu, boolean reset) {
265 | CU = cu;
266 | RESET = reset;
267 | return process();
268 | }
269 |
270 | /*
271 | CTD
272 | */
273 | CTD::CTD(uint pv) {
274 | CD = false;
275 | LOAD = false;
276 | Q = false;
277 | PV = pv;
278 | CV = 0;
279 | cd_old = false;
280 | }
281 |
282 | boolean CTD::process() {
283 | if (LOAD) {
284 | CV = PV;
285 | }
286 | if (CD &! cd_old) {
287 | if (CV > 0) {
288 | CV--;
289 | }
290 | }
291 | Q = (CV == 0);
292 | cd_old = CD;
293 | return Q;
294 | }
295 |
296 | boolean CTD::process(boolean cd, boolean load) {
297 | CD = cd;
298 | LOAD = load;
299 | return process();
300 | }
301 |
302 | /*
303 | CTUD
304 | */
305 | CTUD::CTUD(uint pv) {
306 | CU = false;
307 | CD = false;
308 | RESET = false;
309 | LOAD = false;
310 | QU = false;
311 | QD = false;
312 | PV = pv;
313 | CV = 0;
314 | cu_old = false;
315 | cd_old = false;
316 | }
317 |
318 | boolean CTUD::process() {
319 | if (RESET) {
320 | CV = 0;
321 | }
322 | else if (LOAD) {
323 | CV = PV;
324 | }
325 | if (CU &! cu_old) {
326 | CV++;
327 | }
328 | if (CD &! cd_old) {
329 | if (CV > 0) {
330 | CV--;
331 | }
332 | }
333 | QU = (CV >= PV);
334 | QD = (CV == 0);
335 | cu_old = CU;
336 | cd_old = CD;
337 | }
338 |
339 | boolean CTUD::process(boolean cu, boolean cd, boolean reset, boolean load) {
340 | CU = cu;
341 | CD = cd;
342 | RESET = reset;
343 | LOAD = load;
344 | return process();
345 | }
346 |
--------------------------------------------------------------------------------