Skip to content

Commit

Permalink
Change pi app to be generated through org babel tangle
Browse files Browse the repository at this point in the history
  • Loading branch information
jacksonmowry committed Jan 16, 2025
1 parent c435f34 commit d0e5631
Show file tree
Hide file tree
Showing 121 changed files with 2,280 additions and 28,044 deletions.
2 changes: 1 addition & 1 deletion makefile
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ bin/connectivity_app_vrisp_vector_synapses: src/connectivity_app.cpp $(VRISP_RVV
bin/tutorial_app_vrisp: tutorial/src/tutorial_and_app.cpp $(VRISP_OBJ) $(FR_LIB)
$(CXX) $(FR_CFLAGS) -o $@ $^

bin/tutorial_app_pi_vrisp: tutorial/src/tutorial_pi_app.cpp $(VRISP_OBJ) $(FR_LIB)
bin/tutorial_app_pi_vrisp: tutorial/src/tutorial_and_pi_app.cpp $(VRISP_OBJ) $(FR_LIB)
$(CXX) $(FR_CFLAGS) -o $@ $^ -lwiringPi

# Libraries ###################################################################
Expand Down
262 changes: 0 additions & 262 deletions results/con_p00_1472_14.72_15percent.svg

This file was deleted.

247 changes: 0 additions & 247 deletions results/con_p00_1950_9.75_5percent.svg

This file was deleted.

267 changes: 0 additions & 267 deletions results/con_p00_19964_99.82_50percent.svg

This file was deleted.

242 changes: 0 additions & 242 deletions results/con_p00_2015_20.15_20percent.svg

This file was deleted.

252 changes: 0 additions & 252 deletions results/con_p00_2364_23.64_25percent.svg

This file was deleted.

257 changes: 0 additions & 257 deletions results/con_p00_29787_148.94_75percent.svg

This file was deleted.

247 changes: 0 additions & 247 deletions results/con_p00_39800_199.00_100percent.svg

This file was deleted.

262 changes: 0 additions & 262 deletions results/con_p00_4041_20.20_10percent.svg

This file was deleted.

247 changes: 0 additions & 247 deletions results/con_p00_486_4.86_5percent.svg

This file was deleted.

262 changes: 0 additions & 262 deletions results/con_p00_4921_49.21_50percent.svg

This file was deleted.

252 changes: 0 additions & 252 deletions results/con_p00_5938_29.69_15percent.svg

This file was deleted.

257 changes: 0 additions & 257 deletions results/con_p00_7489_74.89_75percent.svg

This file was deleted.

262 changes: 0 additions & 262 deletions results/con_p00_8040_40.20_20percent.svg

This file was deleted.

267 changes: 0 additions & 267 deletions results/con_p00_938_9.38_10percent.svg

This file was deleted.

242 changes: 0 additions & 242 deletions results/con_p00_9900_99.00_100percent.svg

This file was deleted.

242 changes: 0 additions & 242 deletions results/con_p00_9994_49.97_25percent.svg

This file was deleted.

262 changes: 0 additions & 262 deletions results/con_p0_100_5.00_25percent.svg

This file was deleted.

247 changes: 0 additions & 247 deletions results/con_p0_1215_24.30_50percent.svg

This file was deleted.

247 changes: 0 additions & 247 deletions results/con_p0_124_2.48_5percent.svg

This file was deleted.

247 changes: 0 additions & 247 deletions results/con_p0_15_0.75_5percent.svg

This file was deleted.

242 changes: 0 additions & 242 deletions results/con_p0_15_1.50_15percent.svg

This file was deleted.

267 changes: 0 additions & 267 deletions results/con_p0_15_1.50_20percent.svg

This file was deleted.

252 changes: 0 additions & 252 deletions results/con_p0_178_8.90_50percent.svg

This file was deleted.

262 changes: 0 additions & 262 deletions results/con_p0_1887_37.74_75percent.svg

This file was deleted.

242 changes: 0 additions & 242 deletions results/con_p0_212_4.24_10percent.svg

This file was deleted.

252 changes: 0 additions & 252 deletions results/con_p0_23_2.30_25percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p0_2450_49.00_100percent.svg
Diff not rendered.
242 changes: 0 additions & 242 deletions results/con_p0_286_14.30_75percent.svg
Diff not rendered.
257 changes: 0 additions & 257 deletions results/con_p0_371_7.42_15percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p0_380_19.00_100percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p0_40_2.00_10percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p0_473_9.46_20percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p0_47_4.70_50percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p0_4_0.40_5percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p0_52_2.60_15percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p0_592_11.84_25percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p0_66_3.30_20percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p0_66_6.60_75percent.svg
Diff not rendered.
242 changes: 0 additions & 242 deletions results/con_p0_8_0.80_10percent.svg
Diff not rendered.
262 changes: 0 additions & 262 deletions results/con_p0_90_9.00_100percent.svg
Diff not rendered.
242 changes: 0 additions & 242 deletions results/con_p25_10159_45.15_20percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p25_12613_56.06_25percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p25_2494_11.08_5percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p25_25296_112.43_50percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p25_37772_167.88_75percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p25_5024_22.33_10percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p25_50400_224.00_100percent.svg
Diff not rendered.
262 changes: 0 additions & 262 deletions results/con_p25_7544_33.53_15percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p50_1096_7.31_5percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p50_11227_74.85_50percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p50_12399_49.60_20percent.svg
Diff not rendered.
257 changes: 0 additions & 257 deletions results/con_p50_15594_62.38_25percent.svg
Diff not rendered.
257 changes: 0 additions & 257 deletions results/con_p50_16774_111.83_75percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p50_2206_14.71_10percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p50_22350_149.00_100percent.svg
Diff not rendered.
257 changes: 0 additions & 257 deletions results/con_p50_31210_124.84_50percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p50_3179_12.72_5percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p50_3372_22.48_15percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p50_4329_28.86_20percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p50_46616_186.46_75percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p50_5579_37.19_25percent.svg
Diff not rendered.
257 changes: 0 additions & 257 deletions results/con_p50_6099_24.40_10percent.svg
Diff not rendered.
257 changes: 0 additions & 257 deletions results/con_p50_62250_249.00_100percent.svg
Diff not rendered.
242 changes: 0 additions & 242 deletions results/con_p50_9383_37.53_15percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p5_1109_14.79_20percent.svg
Diff not rendered.
262 changes: 0 additions & 262 deletions results/con_p5_111_7.40_50percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p5_124_4.96_20percent.svg
Diff not rendered.
257 changes: 0 additions & 257 deletions results/con_p5_1380_18.40_25percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p5_148_5.92_25percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p5_158_10.53_75percent.svg
Diff not rendered.
257 changes: 0 additions & 257 deletions results/con_p5_210_14.00_100percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p5_22_1.47_10percent.svg
Diff not rendered.
242 changes: 0 additions & 242 deletions results/con_p5_245_3.27_5percent.svg
Diff not rendered.
257 changes: 0 additions & 257 deletions results/con_p5_2768_36.91_50percent.svg
Diff not rendered.
257 changes: 0 additions & 257 deletions results/con_p5_29_1.16_5percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p5_310_12.40_50percent.svg
Diff not rendered.
262 changes: 0 additions & 262 deletions results/con_p5_32_2.13_15percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p5_4156_55.41_75percent.svg
Diff not rendered.
262 changes: 0 additions & 262 deletions results/con_p5_453_18.12_75percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p5_51_3.40_25percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p5_52_3.47_20percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p5_5550_74.00_100percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p5_557_7.43_10percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p5_600_24.00_100percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p5_70_2.80_10percent.svg
Diff not rendered.
262 changes: 0 additions & 262 deletions results/con_p5_846_11.28_15percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p5_8_0.53_5percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p5_94_3.76_15percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p75_1503_8.59_5percent.svg
Diff not rendered.
257 changes: 0 additions & 257 deletions results/con_p75_15273_87.27_50percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p75_22827_130.44_75percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p75_2980_17.03_10percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p75_30450_174.00_100percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p75_4553_26.02_15percent.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/con_p75_6008_34.33_20percent.svg
Diff not rendered.
262 changes: 0 additions & 262 deletions results/con_p75_7673_43.85_25percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p_15_3.00_75percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p_1_0.20_15percent.svg
Diff not rendered.
242 changes: 0 additions & 242 deletions results/con_p_1_0.20_5percent.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/con_p_20_4.00_100percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p_3_0.60_10percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p_3_0.60_20percent.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/con_p_3_0.60_25percent.svg
Diff not rendered.
242 changes: 0 additions & 242 deletions results/con_p_9_1.80_50percent.svg
Diff not rendered.
257 changes: 0 additions & 257 deletions results/dbscan_1_7.svg
Diff not rendered.
247 changes: 0 additions & 247 deletions results/dbscan_2_18.svg
Diff not rendered.
242 changes: 0 additions & 242 deletions results/dbscan_3_36.svg
Diff not rendered.
267 changes: 0 additions & 267 deletions results/dbscan_4_60.svg
Diff not rendered.
257 changes: 0 additions & 257 deletions results/dbscan_5_90.svg
Diff not rendered.
252 changes: 0 additions & 252 deletions results/dbscan_6_120.svg
Diff not rendered.
648 changes: 648 additions & 0 deletions results/dbscan_k230.org

Large diffs are not rendered by default.

257 changes: 257 additions & 0 deletions results/k230_dbscan_1_7.svg

Large diffs are not rendered by default.

247 changes: 247 additions & 0 deletions results/k230_dbscan_2_18.svg

Large diffs are not rendered by default.

242 changes: 242 additions & 0 deletions results/k230_dbscan_3_36.svg

Large diffs are not rendered by default.

267 changes: 267 additions & 0 deletions results/k230_dbscan_4_60.svg

Large diffs are not rendered by default.

257 changes: 257 additions & 0 deletions results/k230_dbscan_5_90.svg

Large diffs are not rendered by default.

252 changes: 252 additions & 0 deletions results/k230_dbscan_6_120.svg

Large diffs are not rendered by default.

117 changes: 58 additions & 59 deletions tutorial/first_app.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

56 changes: 49 additions & 7 deletions tutorial/first_app.org
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,9 @@ jq '.Nodes as $Nodes
| [[.Edges[].from],[.Edges[].to], [.Edges[].values[1]]]
| transpose
| map (.[0] as $zero
| .[1] as $one
| .[2] as $weight
| [($Nodes[] | select(.id == $zero)).name, ($Nodes[] | select(.id == $one)).name, $weight])
| .[1] as $one
| .[2] as $weight
| [($Nodes[] | select(.id == $zero)).name, ($Nodes[] | select(.id == $one)).name, $weight])
| map ( "\(. [0]),\(. [1]) | (color=\(. [2] | if . >= 0 then "black" else "red" end));")' networks/and_vrisp.json |
sed -E -e 's/\[/digraph G \{/' -e 's/\]/}/' -e 's/,/" -> "/' -e 's/ \|/"/' -e 's/,//' -e 's/"$//' -e 's/\(/\[/' -e 's/\)/\]/'
#+end_src
Expand Down Expand Up @@ -346,16 +346,58 @@ We can see that our app correctly produces the truth table for an =AND= gate! No
* /_Extra Credit_/
Let's go one step further and get this app running on a raspberry pi, with real world inputs to our processor. We can wire up 2 buttons to act as the =A= and =B= inputs to the logic gate.

Most of the code will stay the same, so I will only show differences here. To begin include the =WiringPi= header.
Most of the code will stay the same, so I will only show differences here, although the full source file can be found under =tutorial/src/tutorial_and_pi_app.cpp=. To begin include the =WiringPi= header.

#+begin_src C
#+begin_src C :tangle "src/tutorial_and_pi_app.cpp" :main no
#include <wiringPi.h>
// ...
#+end_src

#+begin_src C :tangle "src/tutorial_and_pi_app.cpp" :main no :exports none
#include <fstream>
#include "framework.hpp"

using namespace std;
using namespace neuro;
using nlohmann::json;

Network *load_network(Processor **pp, const json &network_json) {
Network *net;
json proc_params;
string proc_name;
Processor *p;

net = new Network();
net->from_json(network_json);

p = *pp;
if (p == nullptr) {
proc_params = net->get_data("proc_params");
proc_name = net->get_data("other")["proc_name"];
p = Processor::make(proc_name, proc_params);
*pp = p;
}

if (p->get_network_properties().as_json() !=
net->get_properties().as_json()) {
fprintf(
stderr,
"%s: load_network: Network and processor properties do not match.\n",
__FILE__);
return nullptr;
}

if (!p->load_network(net)) {
fprintf(stderr, "%s: load_network: Failed to load network.\n", __FILE__);
return nullptr;
}

return net;
}
#+end_src

Then we need to initialize the GPIO state on the pi.

#+begin_src C
#+begin_src C :tangle "src/tutorial_and_pi_app.cpp" :main no
int main(int argc, char *argv[]) {
if (argc != 2) {
fprintf(stderr, "usage: %s network_json\n", argv[0]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,8 @@ int main(int argc, char *argv[]) {
int AState = digitalRead(APin);
int BState = digitalRead(BPin);

p->apply_spike(Spike(0, 0, AState));
p->apply_spike(Spike(1, 0, BState));
p->apply_spike(Spike(0, 0, AState == LOW));
p->apply_spike(Spike(1, 0, BState == LOW));

p->run(2);

Expand Down

0 comments on commit d0e5631

Please sign in to comment.