ardtweeno 0.0.2 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG +179 -1
- data/COPYING +4 -3
- data/Gemfile +29 -0
- data/Gemfile.lock +76 -0
- data/INSTALL +12 -0
- data/Procfile +1 -0
- data/README.md +26 -2
- data/Rakefile +14 -7
- data/lib/ardtweeno/api.rb +542 -0
- data/lib/ardtweeno/configreader.rb +65 -0
- data/lib/ardtweeno/db.rb +51 -0
- data/lib/ardtweeno/dispatcher.rb +538 -0
- data/lib/ardtweeno/exceptions.rb +33 -0
- data/lib/ardtweeno/node.rb +117 -0
- data/lib/ardtweeno/nodemanager.rb +300 -0
- data/lib/ardtweeno/packet.rb +98 -0
- data/lib/ardtweeno/restapi.rb +266 -0
- data/lib/ardtweeno/serialparser.rb +221 -0
- data/lib/ardtweeno.rb +120 -1
- data/public/glossy_green_button.svg +123 -0
- data/public/glossy_red_button.svg +75 -0
- data/public/main.css +129 -0
- data/public/raspberrypi.jpg +0 -0
- data/resources/conf.yaml +41 -0
- data/resources/nodelist.yaml +26 -0
- data/resources/serialparser.js +84 -0
- data/test/api_test.rb +255 -0
- data/test/dispatcher_test.rb +115 -0
- data/test/node_test.rb +105 -0
- data/test/nodemanager_test.rb +167 -0
- data/test/packet_test.rb +75 -0
- data/test/parser_test.rb +147 -0
- data/test/post_watch +11 -0
- data/test/rest_api_test.rb +248 -0
- data/test/run_mock +17 -0
- data/test/run_packet_push +14 -0
- data/test/serialport_mock.rb +43 -0
- data/test/test_helper.rb +15 -0
- data/test/tty0tty-1.1/AUTHORS +1 -0
- data/test/tty0tty-1.1/COPYING +340 -0
- data/test/tty0tty-1.1/INSTALL +18 -0
- data/test/tty0tty-1.1/README +52 -0
- data/test/tty0tty-1.1/THANKS +4 -0
- data/test/tty0tty-1.1/TODO +3 -0
- data/test/tty0tty-1.1/VERSION +4 -0
- data/test/tty0tty-1.1/module/Makefile +41 -0
- data/{bin/ardtweeno → test/tty0tty-1.1/module/Module.symvers} +0 -0
- data/test/tty0tty-1.1/module/modules.order +1 -0
- data/test/tty0tty-1.1/module/tty0tty.c +678 -0
- data/test/tty0tty-1.1/module/tty0tty.ko +0 -0
- data/test/tty0tty-1.1/module/tty0tty.mod.c +51 -0
- data/test/tty0tty-1.1/module/tty0tty.mod.o +0 -0
- data/test/tty0tty-1.1/module/tty0tty.o +0 -0
- data/test/tty0tty-1.1/pts/Makefile +10 -0
- data/test/tty0tty-1.1/pts/tty0tty +0 -0
- data/test/tty0tty-1.1/pts/tty0tty.c +222 -0
- data/views/createpost.erb +45 -0
- data/views/home.erb +59 -0
- metadata +89 -37
- data/README +0 -1
- data/test/Rakefile +0 -6
- data/test/features/ardtweeno.feature +0 -14
- data/test/features/step_definitions/ardtweeno_steps.rb +0 -24
@@ -0,0 +1,51 @@
|
|
1
|
+
#include <linux/module.h>
|
2
|
+
#include <linux/vermagic.h>
|
3
|
+
#include <linux/compiler.h>
|
4
|
+
|
5
|
+
MODULE_INFO(vermagic, VERMAGIC_STRING);
|
6
|
+
|
7
|
+
struct module __this_module
|
8
|
+
__attribute__((section(".gnu.linkonce.this_module"))) = {
|
9
|
+
.name = KBUILD_MODNAME,
|
10
|
+
.init = init_module,
|
11
|
+
#ifdef CONFIG_MODULE_UNLOAD
|
12
|
+
.exit = cleanup_module,
|
13
|
+
#endif
|
14
|
+
.arch = MODULE_ARCH_INIT,
|
15
|
+
};
|
16
|
+
|
17
|
+
static const struct modversion_info ____versions[]
|
18
|
+
__used
|
19
|
+
__attribute__((section("__versions"))) = {
|
20
|
+
{ 0xa71fca74, "module_layout" },
|
21
|
+
{ 0x37a0cba, "kfree" },
|
22
|
+
{ 0xa6a18b92, "tty_unregister_driver" },
|
23
|
+
{ 0x87cfe6d5, "tty_unregister_device" },
|
24
|
+
{ 0x55c6db81, "put_tty_driver" },
|
25
|
+
{ 0xeb444686, "tty_register_driver" },
|
26
|
+
{ 0x2efa8282, "tty_set_operations" },
|
27
|
+
{ 0x67b27ec1, "tty_std_termios" },
|
28
|
+
{ 0xcc5d0440, "__alloc_tty_driver" },
|
29
|
+
{ 0x68dfc59f, "__init_waitqueue_head" },
|
30
|
+
{ 0x3ff56293, "kmem_cache_alloc_trace" },
|
31
|
+
{ 0x6579fb5b, "kmalloc_caches" },
|
32
|
+
{ 0xa9c54d96, "tty_flip_buffer_push" },
|
33
|
+
{ 0x55e1a9d5, "tty_insert_flip_string_fixed_flag" },
|
34
|
+
{ 0x3a013b7d, "remove_wait_queue" },
|
35
|
+
{ 0x4292364c, "schedule" },
|
36
|
+
{ 0xd7bd3af2, "add_wait_queue" },
|
37
|
+
{ 0xffd5a395, "default_wake_function" },
|
38
|
+
{ 0x664846a3, "current_task" },
|
39
|
+
{ 0x2f287f0d, "copy_to_user" },
|
40
|
+
{ 0x126b8d26, "tty_get_baud_rate" },
|
41
|
+
{ 0xc4554217, "up" },
|
42
|
+
{ 0xdd1a2871, "down" },
|
43
|
+
{ 0x50eedeb8, "printk" },
|
44
|
+
{ 0xb4390f9a, "mcount" },
|
45
|
+
};
|
46
|
+
|
47
|
+
static const char __module_depends[]
|
48
|
+
__used
|
49
|
+
__attribute__((section(".modinfo"))) =
|
50
|
+
"depends=";
|
51
|
+
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,222 @@
|
|
1
|
+
/* ########################################################################
|
2
|
+
|
3
|
+
tty0tty - linux null modem emulator
|
4
|
+
|
5
|
+
########################################################################
|
6
|
+
|
7
|
+
Copyright (c) : 2012 Luis Claudio Gambôa Lopes and Maximiliano Pin max.pin@bitroit.com
|
8
|
+
|
9
|
+
This program is free software; you can redistribute it and/or modify
|
10
|
+
it under the terms of the GNU General Public License as published by
|
11
|
+
the Free Software Foundation; either version 2, or (at your option)
|
12
|
+
any later version.
|
13
|
+
|
14
|
+
This program is distributed in the hope that it will be useful,
|
15
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
17
|
+
GNU General Public License for more details.
|
18
|
+
|
19
|
+
You should have received a copy of the GNU General Public License
|
20
|
+
along with this program; if not, write to the Free Software
|
21
|
+
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
22
|
+
|
23
|
+
For e-mail suggestions : lcgamboa@yahoo.com
|
24
|
+
######################################################################## */
|
25
|
+
|
26
|
+
|
27
|
+
#include <stdio.h>
|
28
|
+
#include <stdlib.h>
|
29
|
+
#include <string.h>
|
30
|
+
#include <unistd.h>
|
31
|
+
#include <fcntl.h>
|
32
|
+
#include <sys/select.h>
|
33
|
+
#include <errno.h>
|
34
|
+
|
35
|
+
#include <termio.h>
|
36
|
+
|
37
|
+
static char buffer[1024];
|
38
|
+
|
39
|
+
int
|
40
|
+
ptym_open(char *pts_name, char *pts_name_s , int pts_namesz)
|
41
|
+
{
|
42
|
+
char *ptr;
|
43
|
+
int fdm;
|
44
|
+
|
45
|
+
strncpy(pts_name, "/dev/ptmx", pts_namesz);
|
46
|
+
pts_name[pts_namesz - 1] = '\0';
|
47
|
+
|
48
|
+
fdm = posix_openpt(O_RDWR | O_NONBLOCK);
|
49
|
+
if (fdm < 0)
|
50
|
+
return(-1);
|
51
|
+
if (grantpt(fdm) < 0)
|
52
|
+
{
|
53
|
+
close(fdm);
|
54
|
+
return(-2);
|
55
|
+
}
|
56
|
+
if (unlockpt(fdm) < 0)
|
57
|
+
{
|
58
|
+
close(fdm);
|
59
|
+
return(-3);
|
60
|
+
}
|
61
|
+
if ((ptr = ptsname(fdm)) == NULL)
|
62
|
+
{
|
63
|
+
close(fdm);
|
64
|
+
return(-4);
|
65
|
+
}
|
66
|
+
|
67
|
+
strncpy(pts_name_s, ptr, pts_namesz);
|
68
|
+
pts_name[pts_namesz - 1] = '\0';
|
69
|
+
|
70
|
+
return(fdm);
|
71
|
+
}
|
72
|
+
|
73
|
+
|
74
|
+
int
|
75
|
+
conf_ser(int serialDev)
|
76
|
+
{
|
77
|
+
|
78
|
+
int rc=0;
|
79
|
+
struct termios params;
|
80
|
+
|
81
|
+
// Get terminal atributes
|
82
|
+
rc = tcgetattr(serialDev, ¶ms);
|
83
|
+
|
84
|
+
// Modify terminal attributes
|
85
|
+
cfmakeraw(¶ms);
|
86
|
+
|
87
|
+
rc = cfsetispeed(¶ms, B9600);
|
88
|
+
|
89
|
+
rc = cfsetospeed(¶ms, B9600);
|
90
|
+
|
91
|
+
// CREAD - Enable port to read data
|
92
|
+
// CLOCAL - Ignore modem control lines
|
93
|
+
params.c_cflag |= (B9600 |CS8 | CLOCAL | CREAD);
|
94
|
+
|
95
|
+
// Make Read Blocking
|
96
|
+
//fcntl(serialDev, F_SETFL, 0);
|
97
|
+
|
98
|
+
// Set serial attributes
|
99
|
+
rc = tcsetattr(serialDev, TCSANOW, ¶ms);
|
100
|
+
|
101
|
+
// Flush serial device of both non-transmitted
|
102
|
+
// output data and non-read input data....
|
103
|
+
tcflush(serialDev, TCIOFLUSH);
|
104
|
+
|
105
|
+
|
106
|
+
return EXIT_SUCCESS;
|
107
|
+
}
|
108
|
+
|
109
|
+
void
|
110
|
+
copydata(int fdfrom, int fdto)
|
111
|
+
{
|
112
|
+
ssize_t br, bw;
|
113
|
+
char *pbuf = buffer;
|
114
|
+
br = read(fdfrom, buffer, 1024);
|
115
|
+
if (br < 0)
|
116
|
+
{
|
117
|
+
if (errno == EAGAIN || errno == EIO)
|
118
|
+
{
|
119
|
+
br = 0;
|
120
|
+
}
|
121
|
+
else
|
122
|
+
{
|
123
|
+
perror("read");
|
124
|
+
exit(1);
|
125
|
+
}
|
126
|
+
}
|
127
|
+
if (br > 0)
|
128
|
+
{
|
129
|
+
do
|
130
|
+
{
|
131
|
+
do
|
132
|
+
{
|
133
|
+
bw = write(fdto, pbuf, br);
|
134
|
+
if (bw > 0)
|
135
|
+
{
|
136
|
+
pbuf += bw;
|
137
|
+
br -= bw;
|
138
|
+
}
|
139
|
+
} while (br > 0 && bw > 0);
|
140
|
+
} while (bw < 0 && errno == EAGAIN);
|
141
|
+
if (bw <= 0)
|
142
|
+
{
|
143
|
+
// kernel buffer may be full, but we can recover
|
144
|
+
fprintf(stderr, "Write error, br=%d bw=%d\n", br, bw);
|
145
|
+
usleep(500000);
|
146
|
+
// discard input
|
147
|
+
while (read(fdfrom, buffer, 1024) > 0)
|
148
|
+
;
|
149
|
+
}
|
150
|
+
}
|
151
|
+
else
|
152
|
+
{
|
153
|
+
usleep(100000);
|
154
|
+
}
|
155
|
+
}
|
156
|
+
|
157
|
+
int main(int argc, char* argv[])
|
158
|
+
{
|
159
|
+
char master1[1024];
|
160
|
+
char slave1[1024];
|
161
|
+
char master2[1024];
|
162
|
+
char slave2[1024];
|
163
|
+
|
164
|
+
int fd1;
|
165
|
+
int fd2;
|
166
|
+
|
167
|
+
fd_set rfds;
|
168
|
+
int retval;
|
169
|
+
|
170
|
+
fd1=ptym_open(master1,slave1,1024);
|
171
|
+
|
172
|
+
fd2=ptym_open(master2,slave2,1024);
|
173
|
+
|
174
|
+
if (argc >= 3)
|
175
|
+
{
|
176
|
+
unlink(argv[1]);
|
177
|
+
unlink(argv[2]);
|
178
|
+
if (symlink(slave1, argv[1]) < 0)
|
179
|
+
{
|
180
|
+
fprintf(stderr, "Cannot create: %s\n", argv[1]);
|
181
|
+
return 1;
|
182
|
+
}
|
183
|
+
if (symlink(slave2, argv[2]) < 0) {
|
184
|
+
fprintf(stderr, "Cannot create: %s\n", argv[2]);
|
185
|
+
return 1;
|
186
|
+
}
|
187
|
+
printf("(%s) <=> (%s)\n",argv[1],argv[2]);
|
188
|
+
}
|
189
|
+
else {
|
190
|
+
printf("(%s) <=> (%s)\n",slave1,slave2);
|
191
|
+
}
|
192
|
+
|
193
|
+
conf_ser(fd1);
|
194
|
+
conf_ser(fd2);
|
195
|
+
|
196
|
+
while(1)
|
197
|
+
{
|
198
|
+
FD_ZERO(&rfds);
|
199
|
+
FD_SET(fd1, &rfds);
|
200
|
+
FD_SET(fd2, &rfds);
|
201
|
+
|
202
|
+
retval = select(fd2 + 1, &rfds, NULL, NULL, NULL);
|
203
|
+
if (retval == -1)
|
204
|
+
{
|
205
|
+
perror("select");
|
206
|
+
return 1;
|
207
|
+
}
|
208
|
+
if (FD_ISSET(fd1, &rfds))
|
209
|
+
{
|
210
|
+
copydata(fd1, fd2);
|
211
|
+
}
|
212
|
+
if (FD_ISSET(fd2, &rfds))
|
213
|
+
{
|
214
|
+
copydata(fd2, fd1);
|
215
|
+
}
|
216
|
+
}
|
217
|
+
|
218
|
+
close(fd1);
|
219
|
+
close(fd2);
|
220
|
+
|
221
|
+
return EXIT_SUCCESS;
|
222
|
+
}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
5
|
+
<title>Ardtweeno Application Gateway</title>
|
6
|
+
<link href="/main.css" media="screen" rel="stylesheet" type="text/css" />
|
7
|
+
</head>
|
8
|
+
|
9
|
+
<body>
|
10
|
+
<div id="header">
|
11
|
+
<div id="logo">Ardtweeno - Application Gateway</div>
|
12
|
+
|
13
|
+
<ul id="navigation">
|
14
|
+
<% if running == true %>
|
15
|
+
<li><a href="">Status [<img title="Running" id="status" src="/glossy_green_button.svg" height="25" width="25"></img>]</a></li>
|
16
|
+
<% else %>
|
17
|
+
<li><a href="">Status [<img title="Stopped" id="status" src="/glossy_red_button.svg" height="25" width="25"></img>]</a></li>
|
18
|
+
<% end %>
|
19
|
+
<li><a href="http://brovakin.wordpress.com">News</a></li>
|
20
|
+
<li><a href="http://github.com/dkirwan/ardtweeno">Source</a></li>
|
21
|
+
</ul>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div id="content">
|
25
|
+
|
26
|
+
<form id="postform" action="/b97cb9ae44747ee263363463b7e56/create/post" method="post">
|
27
|
+
<ul>
|
28
|
+
<li>Title:<br /><input id="title" name="title" type="text" /><br /></li>
|
29
|
+
<li>Content:<br /><textarea id="content" name="content" rows="4" cols="50"> </textarea><br /></li>
|
30
|
+
<li>Code:<br /><textarea id="code" name="code" rows="4" cols="50"> </textarea><br /></li>
|
31
|
+
<li><input id="submit" name="submit" type="submit" value="Submit" /><br /></li>
|
32
|
+
</ul>
|
33
|
+
</form>
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
<div id="footer">
|
38
|
+
<hr/>
|
39
|
+
<p id="licence">
|
40
|
+
All content is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.en_US">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.<br /><br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.en_US"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" /></a>
|
41
|
+
</p>
|
42
|
+
</div>
|
43
|
+
</div>
|
44
|
+
</body>
|
45
|
+
</html>
|
data/views/home.erb
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
5
|
+
<title>Ardtweeno Application Gateway</title>
|
6
|
+
<link href="/main.css" media="screen" rel="stylesheet" type="text/css" />
|
7
|
+
|
8
|
+
<link rel="stylesheet" href="/highlightjs/styles/monokai.css">
|
9
|
+
<script src="/highlightjs/highlight.pack.js"></script>
|
10
|
+
<script>hljs.initHighlightingOnLoad();</script>
|
11
|
+
</head>
|
12
|
+
|
13
|
+
<body>
|
14
|
+
<div id="header">
|
15
|
+
<div id="logo">Ardtweeno - Application Gateway</div>
|
16
|
+
|
17
|
+
<ul id="navigation">
|
18
|
+
<% if running == true %>
|
19
|
+
<li><a href="">Status [<img title="Running" id="status" src="/glossy_green_button.svg" height="25" width="25"></img>]</a></li>
|
20
|
+
<% else %>
|
21
|
+
<li><a href="">Status [<img title="Stopped" id="status" src="/glossy_red_button.svg" height="25" width="25"></img>]</a></li>
|
22
|
+
<% end %>
|
23
|
+
<li><a href="http://brovakin.wordpress.com">News</a></li>
|
24
|
+
<li><a href="http://github.com/dkirwan/ardtweeno">Source</a></li>
|
25
|
+
</ul>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<div id="content">
|
29
|
+
|
30
|
+
<img id="sample" src="/raspberrypi.jpg" height="175" width="240"/>
|
31
|
+
|
32
|
+
<p id="blurb">Ardtweeno is an application gateway which bridges an XBEE 802.15.4 radio mesh network and an Internet Protocol network. The system is designed as a PaaS (platform as a service) for the <a href="http://raspberrypi.org">Raspberry Pi</a> ARM platform.</p>
|
33
|
+
|
34
|
+
<div id="posts">
|
35
|
+
<h2>News Posts</h2>
|
36
|
+
<% unless postdata.nil? %>
|
37
|
+
<% postdata.each do |i| %>
|
38
|
+
<div id="post">
|
39
|
+
<h3 id="post-title"><%= i[:posttitle]%></h3>
|
40
|
+
<p id="post-content"><%= i[:postcontent] %></p>
|
41
|
+
<% unless i[:postcode] == '' %>
|
42
|
+
<pre><code id="post-code"><%= i[:postcode] %></code></pre>
|
43
|
+
<% end %>
|
44
|
+
</div>
|
45
|
+
<% end %>
|
46
|
+
<% end %>
|
47
|
+
</div>
|
48
|
+
|
49
|
+
|
50
|
+
<div id="footer">
|
51
|
+
<hr/>
|
52
|
+
<p id="licence">
|
53
|
+
All content is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc/3.0/deed.en_US">Attribution-NonCommercial 3.0 Unported</a>.<br /><br /><a rel="license" href="http://creativecommons.org/licenses/by-nc/3.0/deed.en_US"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc/3.0/88x31.png" /></a>
|
54
|
+
</p>
|
55
|
+
</div>
|
56
|
+
|
57
|
+
</div>
|
58
|
+
</body>
|
59
|
+
</html>
|
metadata
CHANGED
@@ -1,71 +1,123 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ardtweeno
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.5
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- David Kirwan
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
13
|
-
dependencies:
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
11
|
+
date: 2013-05-19 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.2.3
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.2.3
|
27
|
+
description: "Ardtweeno - Application Gateway bridges device connected through a serial
|
28
|
+
link to devices connected \nover Internet Protocol. It is designed as a PaaS capable
|
29
|
+
of being run on the ARM powered Raspberry Pi\nModel B. It exposes a RESTAPI powered
|
30
|
+
by Sinatra.\n"
|
21
31
|
email:
|
22
|
-
-
|
32
|
+
- davidkirwanirl@gmail.com
|
23
33
|
executables: []
|
24
34
|
extensions: []
|
25
35
|
extra_rdoc_files: []
|
26
36
|
files:
|
27
37
|
- lib/ardtweeno.rb
|
28
|
-
-
|
29
|
-
-
|
30
|
-
-
|
38
|
+
- lib/ardtweeno/api.rb
|
39
|
+
- lib/ardtweeno/configreader.rb
|
40
|
+
- lib/ardtweeno/db.rb
|
41
|
+
- lib/ardtweeno/dispatcher.rb
|
42
|
+
- lib/ardtweeno/exceptions.rb
|
43
|
+
- lib/ardtweeno/node.rb
|
44
|
+
- lib/ardtweeno/nodemanager.rb
|
45
|
+
- lib/ardtweeno/packet.rb
|
46
|
+
- lib/ardtweeno/restapi.rb
|
47
|
+
- lib/ardtweeno/serialparser.rb
|
31
48
|
- CHANGELOG
|
49
|
+
- COPYING
|
50
|
+
- Gemfile
|
51
|
+
- Gemfile.lock
|
52
|
+
- INSTALL
|
53
|
+
- Procfile
|
54
|
+
- README.md
|
32
55
|
- Rakefile
|
33
|
-
-
|
34
|
-
-
|
35
|
-
-
|
36
|
-
-
|
56
|
+
- public/glossy_green_button.svg
|
57
|
+
- public/glossy_red_button.svg
|
58
|
+
- public/main.css
|
59
|
+
- public/raspberrypi.jpg
|
60
|
+
- views/createpost.erb
|
61
|
+
- views/home.erb
|
62
|
+
- resources/conf.yaml
|
63
|
+
- resources/nodelist.yaml
|
64
|
+
- resources/serialparser.js
|
65
|
+
- test/api_test.rb
|
66
|
+
- test/dispatcher_test.rb
|
67
|
+
- test/node_test.rb
|
68
|
+
- test/nodemanager_test.rb
|
69
|
+
- test/packet_test.rb
|
70
|
+
- test/parser_test.rb
|
71
|
+
- test/post_watch
|
72
|
+
- test/rest_api_test.rb
|
73
|
+
- test/run_mock
|
74
|
+
- test/run_packet_push
|
75
|
+
- test/serialport_mock.rb
|
76
|
+
- test/test_helper.rb
|
77
|
+
- test/tty0tty-1.1/AUTHORS
|
78
|
+
- test/tty0tty-1.1/COPYING
|
79
|
+
- test/tty0tty-1.1/INSTALL
|
80
|
+
- test/tty0tty-1.1/README
|
81
|
+
- test/tty0tty-1.1/THANKS
|
82
|
+
- test/tty0tty-1.1/TODO
|
83
|
+
- test/tty0tty-1.1/VERSION
|
84
|
+
- test/tty0tty-1.1/module/Makefile
|
85
|
+
- test/tty0tty-1.1/module/Module.symvers
|
86
|
+
- test/tty0tty-1.1/module/modules.order
|
87
|
+
- test/tty0tty-1.1/module/tty0tty.c
|
88
|
+
- test/tty0tty-1.1/module/tty0tty.ko
|
89
|
+
- test/tty0tty-1.1/module/tty0tty.mod.c
|
90
|
+
- test/tty0tty-1.1/module/tty0tty.mod.o
|
91
|
+
- test/tty0tty-1.1/module/tty0tty.o
|
92
|
+
- test/tty0tty-1.1/pts/Makefile
|
93
|
+
- test/tty0tty-1.1/pts/tty0tty
|
94
|
+
- test/tty0tty-1.1/pts/tty0tty.c
|
37
95
|
homepage: http://rubygems.org/gems/ardtweeno
|
38
96
|
licenses:
|
39
|
-
- CC BY-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
This software is released under the creative commons attribution-sharealike 3.0
|
45
|
-
unported (cc by-sa 3.0) licence.
|
46
|
-
|
47
|
-
for more information see: http://creativecommons.org/licenses/by-sa/3.0/
|
48
|
-
|
49
|
-
'
|
97
|
+
- CC BY-NC 3.0
|
98
|
+
metadata: {}
|
99
|
+
post_install_message: |
|
100
|
+
This software is released under the Attribution-NonCommercial 3.0 Unported (CC BY-NC 3.0) licence.
|
101
|
+
for more information see: http://creativecommons.org/licenses/by-nc/3.0/
|
50
102
|
rdoc_options: []
|
51
103
|
require_paths:
|
52
104
|
- lib
|
53
105
|
required_ruby_version: !ruby/object:Gem::Requirement
|
54
|
-
none: false
|
55
106
|
requirements:
|
56
|
-
- -
|
107
|
+
- - '>='
|
57
108
|
- !ruby/object:Gem::Version
|
58
109
|
version: 1.8.7
|
59
110
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
60
|
-
none: false
|
61
111
|
requirements:
|
62
|
-
- -
|
112
|
+
- - '>='
|
63
113
|
- !ruby/object:Gem::Version
|
64
114
|
version: '0'
|
65
115
|
requirements: []
|
66
116
|
rubyforge_project:
|
67
|
-
rubygems_version:
|
117
|
+
rubygems_version: 2.0.3
|
68
118
|
signing_key:
|
69
|
-
specification_version:
|
70
|
-
summary:
|
119
|
+
specification_version: 4
|
120
|
+
summary: Serial Device / IP Network Gateway designed as a PaaS to be run on the Raspberry
|
121
|
+
Pi, exposes Sinatra API
|
71
122
|
test_files: []
|
123
|
+
has_rdoc:
|
data/README
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
|
data/test/Rakefile
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
Feature: test
|
2
|
-
|
3
|
-
This is the first in a long line of required tests to ensure the Ardtweeno gem is
|
4
|
-
working correctly.
|
5
|
-
|
6
|
-
Background:
|
7
|
-
In order to test the ardtweeno gem
|
8
|
-
As an ardtweeno user
|
9
|
-
I want to be able to test the gem in my step definitions
|
10
|
-
|
11
|
-
Scenario: test
|
12
|
-
Given I have just test
|
13
|
-
And test
|
14
|
-
Then test
|
@@ -1,24 +0,0 @@
|
|
1
|
-
require 'test/unit/assertions'
|
2
|
-
World(Test::Unit::Assertions)
|
3
|
-
|
4
|
-
Given /^I have just passed a folder (\w+) of (\w+)/ do |var, value|
|
5
|
-
instance_variable_set("@#{var}", value)
|
6
|
-
end
|
7
|
-
|
8
|
-
Given /^(\w+) does not exist already$/ do |name|
|
9
|
-
|
10
|
-
end
|
11
|
-
|
12
|
-
begin
|
13
|
-
require 'rubygems'
|
14
|
-
require 'ardtweeno'
|
15
|
-
|
16
|
-
Then /^when the script has finished (\w+) should exist$/ do |name|
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
rescue LoadError
|
21
|
-
|
22
|
-
STDERR.puts LoadError
|
23
|
-
|
24
|
-
end
|