Difference between revisions of "Redeem architecture"

From iagent
Jump to: navigation, search
Line 5: Line 5:
  
 
===Architecture===
 
===Architecture===
 
  
 
Most of Redeem is written in Python, with the exception of the most
 
Most of Redeem is written in Python, with the exception of the most
Line 26: Line 25:
 
the Debian repository packages for Replicape and Toggle:
 
the Debian repository packages for Replicape and Toggle:
  
<syntaxhighlight lang="Python" line='line'>
+
<syntaxhighlight lang="Bash" line='line'>
 
     wget -O - http://kamikaze.thing-printer.com/apt/public.gpg | apt-key add -
 
     wget -O - http://kamikaze.thing-printer.com/apt/public.gpg | apt-key add -
 
     echo "deb http://kamikaze.thing-printer.com/apt ./" >> /etc/apt/sources.list
 
     echo "deb http://kamikaze.thing-printer.com/apt ./" >> /etc/apt/sources.list
Line 36: Line 35:
 
enable kernel repo: http://repos.rcn-ee.com/(debian|ubuntu)
 
enable kernel repo: http://repos.rcn-ee.com/(debian|ubuntu)
  
<syntaxhighlight lang="Python" line='line'>
+
<syntaxhighlight lang="Bash" line='line'>
 
     apt-get install am335x-pru-package pru-software-support-package swig python-smbus
 
     apt-get install am335x-pru-package pru-software-support-package swig python-smbus
 
     mkdir -p /usr/src
 
     mkdir -p /usr/src
Line 51: Line 50:
  
 
===Updating===
 
===Updating===
..  versionadded:: 2.0.5
 
 
 
The octoprint_redeem plugin should provide a prompt when there is a
 
The octoprint_redeem plugin should provide a prompt when there is a
 
redeem update available, and the wizard should work in almost all cases.
 
redeem update available, and the wizard should work in almost all cases.
Line 60: Line 57:
 
login as root and execute these commands:
 
login as root and execute these commands:
  
<syntaxhighlight lang="Python" line='line'>
+
<syntaxhighlight lang="Bash" line='line'>
 
     cd /usr/src/redeem
 
     cd /usr/src/redeem
 
     git pull
 
     git pull

Revision as of 15:13, 20 October 2018

Redeem is the Replicape firmware; it is a daemon process that chews G-codes and spits out coordinates. The software can be found in the redeem repository: https://github.com/intelligent-agent/redeem

Architecture

Most of Redeem is written in Python, with the exception of the most heavily used gcode commands: G0/G1. These have been optimized in C. This allows rapid development of new features which are infrequently run -- such as bed leveling -- using python's scripting language capabilities of garbage collection and extensive libraries


Software-stack.png

Installation

The recommended method for installation is to use the Umikaze image which includes operating system, redeem, octoprint and all the dependencies needed.

from Package

If you'd rather install the Redeem firmware on your own operating system, you can use the Debian repository packages for Replicape and Toggle:

1     wget -O - http://kamikaze.thing-printer.com/apt/public.gpg | apt-key add -
2     echo "deb http://kamikaze.thing-printer.com/apt ./" >> /etc/apt/sources.list
3     apt-get update

from Source

enable kernel repo: http://repos.rcn-ee.com/(debian%7Cubuntu)

1     apt-get install am335x-pru-package pru-software-support-package swig python-smbus
2     mkdir -p /usr/src
3     cd /usr/src
4     git clone https://github.com/intelligent-agent/redeem.git
5     cd redeem
6     make install
7     mkdir -p /etc/redeem
8     cp configs/* /etc/redeem
9     cp data/* /etc/redeem


Updating

The octoprint_redeem plugin should provide a prompt when there is a redeem update available, and the wizard should work in almost all cases. If it doesn't, or if you prefer knowing the gritty details of how to do this by hand, here are the manual instructions:

login as root and execute these commands:

1     cd /usr/src/redeem
2     git pull
3     python setup.py clean install
4     cp configs/* /etc/redeem
5     systemctl restart redeem


Develop branch


If your printer suffers from problems that are being addressed or if you want to help test the next version of redeem, you need to switch your installation to the develop branch of Redeem. **Beware: there be bugs and dragons in this code!**

To do so, follow these instructions:

1     cd /usr/src
2     rm -r redeem
3     git clone https://github.com/intelligent-agent/redeem.git
4     cd redeem
5     git checkout develop
6     make clean install
7     systemctl restart redeem