Skip to content

Commit 49bb031

Browse files
committed
Problem: need to redesign demo
It's too clumsy to deal with incoming events in serial code. Solution: use a state machine instead.
1 parent 1779838 commit 49bb031

38 files changed

+1759
-604
lines changed

.gitignore

+2-3
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,8 @@ save.xml
1919
*.lo
2020

2121
# Executables
22-
src/blink_selftest
23-
src/blink_shell
24-
src/blink_selftest
22+
src/glar_selftest
23+
src/glard
2524
*.exe
2625
*.out
2726
*.app

CMakeLists.txt

+3
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ set (glar_headers
116116

117117
IF (ENABLE_DRAFTS)
118118
list(APPEND glar_headers
119+
include/glar_node.h
119120
include/glar_panel.h
120121
)
121122
ENDIF (ENABLE_DRAFTS)
@@ -132,6 +133,7 @@ set (glar_sources
132133

133134
IF (ENABLE_DRAFTS)
134135
list (APPEND glar_sources
136+
src/glar_node.c
135137
src/glar_panel.c
136138
)
137139
ENDIF (ENABLE_DRAFTS)
@@ -227,6 +229,7 @@ set(TEST_CLASSES
227229

228230
IF (ENABLE_DRAFTS)
229231
list (APPEND TEST_CLASSES
232+
glar_node
230233
glar_panel
231234
)
232235
ENDIF (ENABLE_DRAFTS)

doc/Makefile.am

+4-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# Please refer to the README for information about making permanent changes. #
44
################################################################################
55
MAN1 = glard.1
6-
MAN3 = glar_panel.3
6+
MAN3 = glar_node.3 glar_panel.3
77
MAN7 = glar150.7
88
MAN_DOC = $(MAN1) $(MAN3) $(MAN7)
99

@@ -34,13 +34,15 @@ SUFFIXES=.txt .xml .1 .3 .7
3434
.xml.7:
3535
xmlto man $<
3636

37+
glar_node.txt:
38+
./mkman $@
3739
glar_panel.txt:
3840
./mkman $@
3941
glard.txt:
4042
./mkman $@
4143
clean:
4244
rm -f *.1 *.3 *.7
43-
./mkman glar_panel glard
45+
./mkman glar_node glar_panel glard
4446
endif
4547
################################################################################
4648
# THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #

doc/asciidoc.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ template::[header-declarations]
5151
<title>COPYRIGHT</title>
5252
<simpara>
5353
Copyright (c) the Contributors as noted in the AUTHORS file.
54-
This file is part of the Blink Project.
54+
This file is part of the Glar150 Project.
5555

5656
This Source Code Form is subject to the terms of the Mozilla Public
5757
License, v. 2.0. If a copy of the MPL was not distributed with this

doc/blink.doc

-14
This file was deleted.

doc/blink.txt

-26
This file was deleted.

doc/blink_led.doc

-42
This file was deleted.

doc/blink_led.txt

-54
This file was deleted.

doc/blink_shell.doc

-14
This file was deleted.

doc/blink_shell.txt

-26
This file was deleted.

doc/glar_node.doc

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#### glar_node - Glar150 service
2+
3+
glar_node - Glar150 service
4+
5+
Please add @discuss section in ../src/glar_node.c.
6+
7+
This is the class interface:
8+
9+
// Create a new glar_node
10+
GLAR_EXPORT glar_node_t *
11+
glar_node_new (const char *iface, bool console);
12+
13+
// Destroy the glar_node
14+
GLAR_EXPORT void
15+
glar_node_destroy (glar_node_t **self_p);
16+
17+
// Set verbose on/off
18+
GLAR_EXPORT void
19+
glar_set_verbose (glar_node_t *self, bool verbose);
20+
21+
// Self test of this class
22+
GLAR_EXPORT void
23+
glar_node_test (bool verbose);
24+
25+
This is the class self test code:
26+
27+
glar_node_t *node = glar_node_new ("wlan0", false);
28+
if (verbose)
29+
glar_node_set_verbose (node, verbose);
30+
assert (node);
31+
glar_node_destroy (&node);
32+

doc/glar_node.txt

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
glar_node(3)
2+
============
3+
4+
NAME
5+
----
6+
glar_node - Glar150 service
7+
8+
SYNOPSIS
9+
--------
10+
----
11+
// Create a new glar_node
12+
GLAR_EXPORT glar_node_t *
13+
glar_node_new (const char *iface, bool console);
14+
15+
// Destroy the glar_node
16+
GLAR_EXPORT void
17+
glar_node_destroy (glar_node_t **self_p);
18+
19+
// Set verbose on/off
20+
GLAR_EXPORT void
21+
glar_set_verbose (glar_node_t *self, bool verbose);
22+
23+
// Self test of this class
24+
GLAR_EXPORT void
25+
glar_node_test (bool verbose);
26+
----
27+
28+
DESCRIPTION
29+
-----------
30+
31+
glar_node - Glar150 service
32+
33+
Please add @discuss section in ../src/glar_node.c.
34+
35+
EXAMPLE
36+
-------
37+
.From glar_node_test method
38+
----
39+
glar_node_t *node = glar_node_new ("wlan0", false);
40+
if (verbose)
41+
glar_node_set_verbose (node, verbose);
42+
assert (node);
43+
glar_node_destroy (&node);
44+
----

doc/glar_panel.doc

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#### glar_panel - LED panel controller
2+
3+
glar_panel - LED panel controller
4+
5+
Commands:
6+
7+
0 1 2 Select LED 0, 1, or 2
8+
3-7 Select more than one LED (bitmap)
9+
+ - Switch selection on or off
10+
, Pause for 100msec
11+
; Pause for 500msec
12+
. Pause for 100msec if inactive
13+
: Pause for 500msec if inactive
14+
* Repeat previous sequence
15+
16+
This is the class interface:
17+
18+
// Create new glar_panel actor instance.
19+
// @TODO: Describe the purpose of this actor!
20+
//
21+
// zactor_t *glar_panel = zactor_new (glar_panel, NULL);
22+
//
23+
// Destroy glar_panel instance.
24+
//
25+
// zactor_destroy (&glar_panel);
26+
//
27+
// Enable verbose logging of commands and activity:
28+
//
29+
// zstr_send (glar_panel, "VERBOSE");
30+
// zsock_wait (glar_panel);
31+
//
32+
// This is the glar_panel constructor as a zactor_fn;
33+
GLAR_EXPORT void
34+
glar_panel_actor (zsock_t *pipe, void *args);
35+
36+
// Self test of this actor
37+
GLAR_EXPORT void
38+
glar_panel_test (bool verbose);
39+
40+
This is the class self test code:
41+
42+
zactor_t *glar_panel = zactor_new (glar_panel_actor, NULL);
43+
44+
zactor_destroy (&glar_panel);
45+

0 commit comments

Comments
 (0)