This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
nblocks:n-blocks_studio [2020/02/21 11:00] engineer |
nblocks:n-blocks_studio [2020/02/21 17:56] (current) engineer [Studio Firmware Classes] |
||
---|---|---|---|
Line 48: | Line 48: | ||
<WRAP centeralign>{{:nblocks:Picture3-Develop-application-with-Diagrams.jpg?600|}}</WRAP> | <WRAP centeralign>{{:nblocks:Picture3-Develop-application-with-Diagrams.jpg?600|}}</WRAP> | ||
<WRAP centeralign>{{:nblocks:Picture4-Develop-with-Diagrams-reduce-complexity.jpg?600|}}</WRAP> | <WRAP centeralign>{{:nblocks:Picture4-Develop-with-Diagrams-reduce-complexity.jpg?600|}}</WRAP> | ||
+ | * IDE to develop application with Diagrams | ||
+ | * No need to write code, just use nodes and connections | ||
+ | * Reduced complexity | ||
+ | * Modularity | ||
+ | * Expandable Library of Nodes | ||
+ | * Friendly for | ||
+ | * Makers, new firmware developers | ||
+ | * Experienced embedded developers | ||
+ | |||
=====Behind the Nodes===== | =====Behind the Nodes===== | ||
<WRAP centeralign>{{:nblocks:Picture5-Behind the nodes.jpg?600|}}</WRAP> | <WRAP centeralign>{{:nblocks:Picture5-Behind the nodes.jpg?600|}}</WRAP> | ||
+ | * What is behind the Node-Diagram: Embedded C++ code | ||
+ | * Execution of code is managed by the underlying lightweight nBlocksStudio RTkernel | ||
+ | |||
+ | |||
+ | =====nBlocksStudio-RTkernel===== | ||
+ | **PERIOD 1mS** | ||
+ | |||
+ | * [DATA BETWEEN NODES] Each connection object retrieves data from the source node (PREVIOUS CYCLE OR INITIAL VALUES) and sends them to the destination node | ||
+ | |||
+ | * [INSIDE NODE] The step Method of each node is called: | ||
+ | * Actual operation is node specific, LIKE: | ||
+ | * Shifting a FIFO | ||
+ | * Perform calculations | ||
+ | * Get from UART hardware buffer and send to a FIFO | ||
+ | * Read Inputs | ||
=====n -BlocksStudio Server===== | =====n -BlocksStudio Server===== | ||
<WRAP centeralign>{{:nblocks:Picture6-n-BlocksStudio Server.jpg?600|}}</WRAP> | <WRAP centeralign>{{:nblocks:Picture6-n-BlocksStudio Server.jpg?600|}}</WRAP> | ||
+ | nBlocksStudio Server | ||
+ | * Contribution model and registered users | ||
+ | * Downloadable Nodes | ||
+ | * New Nodes are contributed by users and the n-Blocks team | ||
=====n -BlocksStudio Server My_nodes===== | =====n -BlocksStudio Server My_nodes===== | ||
<WRAP centeralign>{{:nblocks:Picture7-n-BlocksStudio-Server-My_nodes.jpg?600|}}</WRAP> | <WRAP centeralign>{{:nblocks:Picture7-n-BlocksStudio-Server-My_nodes.jpg?600|}}</WRAP> | ||
- | =====Binary Counter Example code is running in n-Block===== | + | |
- | <WRAP centeralign>{{:nblocks:Picture10-nBlockStudio Binary Counter Example code is running in n-Block.JPG?600|}}</WRAP> | + | |
=====Binary Counter Example created code===== | =====Binary Counter Example created code===== | ||
- | <WRAP centeralign>{{:nblocks:Picture9-Binary-counter-Example-perspective.jpg?600|}}</WRAP> | + | <WRAP centeralign>{{:nblocks:Picture9-Binary-counter-Example-perspective.jpg?1000|}}</WRAP> |
- | <WRAP centeralign>{{:nblocks:Picture8-Binary-counter-Example-created-code.jpgg?600|}}</WRAP> | + | <WRAP centeralign>{{:nblocks:Picture8-Binary-counter-Example-created-code.jpg?1000|}}</WRAP> |
+ | |||
+ | =====Binary Counter Example code is running in n-Block===== | ||
+ | <WRAP centeralign>{{:nblocks:Picture10-nBlockStudio Binary Counter Example code is running in n-Block.JPG?1000|}}</WRAP> | ||
=====JBinary Counter Example code is running in third party board===== | =====JBinary Counter Example code is running in third party board===== | ||
Line 73: | Line 103: | ||
=====ADC to serial port example===== | =====ADC to serial port example===== | ||
+ | <WRAP centeralign>{{:nblocks:Picture14-ADC-to-serialk-port-example.jpg?600|}}</WRAP> | ||
+ | This Diagram reads an ADC every 1000ms and sends the data in readable form to UART serial channel | ||
=====ADC to serial port example Compilation ===== | =====ADC to serial port example Compilation ===== | ||
+ | <WRAP centeralign>{{:nblocks:Picture15-ADC to serial port example.jpg?600|}}</WRAP> | ||
=====ADC to serial port example main.cpp ===== | =====ADC to serial port example main.cpp ===== | ||
- | <WRAP centeralign>{{:nblocks:Picture15-ADC to serial port example.jpg?600|}}</WRAP> | + | |
<WRAP centeralign>{{:nblocks:Picture16-ADC to serial port example.jpg?600|}}</WRAP> | <WRAP centeralign>{{:nblocks:Picture16-ADC to serial port example.jpg?600|}}</WRAP> | ||
=====[ADC-Node] C++ microprocessor code ===== | =====[ADC-Node] C++ microprocessor code ===== | ||
- | <WRAP centeralign>{{:nblocks:Picture17-ADC-Node-Cpp-microprocessor code.JPG?600|}}</WRAP> | + | <WRAP centeralign>{{:nblocks:Picture17-ADC-Node-Cpp-microprocessor code.JPG?1000|}}</WRAP> |
=====Studio Firmware Classes===== | =====Studio Firmware Classes===== | ||
- | <WRAP centeralign>{{:nblocks:Picture18-Studio Firmware Classes.jpg?600|}}</WRAP> | + | <WRAP centeralign>{{:nblocks:Picture18-Studio Firmware Classes.jpg?1000|}}</WRAP> |
- | <WRAP centeralign>{{:nblocks:Picture14-ADC-to-serialk-port-example.jpg?600|}}</WRAP> | ||