ArduinoCMRI | Arduino library for connecting your computer to your model
kandi X-RAY | ArduinoCMRI Summary
kandi X-RAY | ArduinoCMRI Summary
ArduinoCMRI is a C++ library. ArduinoCMRI has no bugs, it has no vulnerabilities and it has low support. You can download it from GitHub.
Author: Michael Adams (). Copyright 2012 Michael D K Adams. Released under the MIT license. ArduinoCMRI is an library for connecting your Arduino to your model railroad. It lets you easily interface lights, switches, servos, and other inputs and outputs with [JMRI][1], the Java Model Railroad Interface. It does this by emulating Bruce Chubb’s [Computer/Model Railroad Interface][2] (C/MRI) System, an I/O system designed for interfacing model railroads with computers.
Author: Michael Adams (). Copyright 2012 Michael D K Adams. Released under the MIT license. ArduinoCMRI is an library for connecting your Arduino to your model railroad. It lets you easily interface lights, switches, servos, and other inputs and outputs with [JMRI][1], the Java Model Railroad Interface. It does this by emulating Bruce Chubb’s [Computer/Model Railroad Interface][2] (C/MRI) System, an I/O system designed for interfacing model railroads with computers.
Support
Quality
Security
License
Reuse
Support
ArduinoCMRI has a low active ecosystem.
It has 21 star(s) with 16 fork(s). There are 17 watchers for this library.
It had no major release in the last 6 months.
There are 3 open issues and 5 have been closed. On average issues are closed in 55 days. There are no pull requests.
It has a neutral sentiment in the developer community.
The latest version of ArduinoCMRI is current.
Quality
ArduinoCMRI has no bugs reported.
Security
ArduinoCMRI has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
License
ArduinoCMRI does not have a standard license declared.
Check the repository for any license declaration and review the terms closely.
Without a license, all rights are reserved, and you cannot use the library in your applications.
Reuse
ArduinoCMRI releases are not available. You will need to build from source code and install.
Installation instructions, examples and code snippets are available.
Top functions reviewed by kandi - BETA
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of ArduinoCMRI
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of ArduinoCMRI
ArduinoCMRI Key Features
No Key Features are available at this moment for ArduinoCMRI.
ArduinoCMRI Examples and Code Snippets
No Code Snippets are available at this moment for ArduinoCMRI.
Community Discussions
No Community Discussions are available at this moment for ArduinoCMRI.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install ArduinoCMRI
Download the ZIP archive (https://github.com/madleech/ArduinoCMRI/zipball/master) and extract it to your Arduino folder under libraries/CMRI. Restart the Arduino IDE and you should see in File > Examples > CMRI entires for hello world and an input/output example.
Support
CMRI(unsigned int address = 0, unsigned int input\_bits = 24, unsigned int output\_bits = 48) Creates a new CMRI object. The default values will create a device that matches the capabilities of an SMINI node. If you want to bind to a different node address, or address more or less inputs, you can alter it here. The maximum combined number of addressable inputs and outputs is 2048 (C/MRI limitation). The library will work fine with any number of inputs and outputs, it will simply ignore out-of-range data. void set\_address(unsigned int address) Sets the address of the C/MRI node. char process() Reads in available data from the serial port and acts accordingly: * For POLL requests, it replies with the current state of the input data. * For INIT requests, it does nothing. * For SET/TRANSMIT (T) requests, it updates the output data. Return value is NULL for no valid packet received, or one of CMRI::INIT, CMRI::SET, CMRI::POLL depending on the packet type received. bool process\_char(char c) Similar to the CMRI::process method, but lets you manage the serial data yourself. Use this if you are processing more than 1 CMRI node in a system. Return value is true if a valid packet has been received and processing of it has finished. Otherwise it returns false. void transmit() Transmits the current state of the input data back to the PC. Creates a CMRI::GET packet. bool get\_bit(int n) Reads a bit from of the last valid input data received. Use this to update your signals, points, etc. char get\_byte(int n) Reads an entire byte from the input buffer. Use this with shiftOut and some shift registers to vastly expand your I/O capabilities. bool set\_bit(int n, bool b) Updates the output buffer to the specified value. Data will be transmitted to the PC either when transmit() is called, or when the next POLL packet is received. bool set\_byte(int n, char b) Updates an entire byte of the output buffer. Use this with shiftIn and some shift registers to add many extra digital inputs to your system.
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page