AYAB Arduino Firmware 0.95
The goal of the AYAB project is to provide an alternative way to control the famous Brother KH-9xx range of knitting machines using a computer
encoders.h File Reference
#include <Arduino.h>
Include dependency graph for encoders.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  EncodersInterface
 Encoder interface. More...
 
class  GlobalEncoders
 
class  Encoders
 

Typedefs

using Direction_t = enum Direction
 
using Carriage_t = enum Carriage
 
using Machine_t = enum MachineType
 
using BeltShift_t = enum BeltShift
 

Enumerations

enum class  Direction : unsigned char { NoDirection = 0xFF , Left = 0 , Right = 1 }
 
enum class  Carriage : unsigned char { NoCarriage = 0xFF , Knit = 0 , Lace = 1 , Garter = 2 }
 
enum class  MachineType : unsigned char { NoMachine = 0xFF , Kh910 = 0 , Kh930 = 1 , Kh270 = 2 }
 
enum class  BeltShift : unsigned char {
  Unknown , Regular , Shifted , Lace_Regular ,
  Lace_Shifted
}
 

Variables

constexpr int NUM_DIRECTIONS = 2
 
constexpr int NUM_CARRIAGES = 3
 
constexpr int NUM_MACHINES = 3
 
constexpr uint8_t NUM_NEEDLES [NUM_MACHINES] = {200U, 200U, 112U}
 
constexpr uint8_t LINE_BUFFER_LEN [NUM_MACHINES] = {25U, 25U, 14U}
 
constexpr uint8_t END_OF_LINE_OFFSET_L [NUM_MACHINES] = {12U, 12U, 6U}
 
constexpr uint8_t END_OF_LINE_OFFSET_R [NUM_MACHINES] = {12U, 12U, 6U}
 
constexpr uint8_t END_LEFT [NUM_MACHINES] = {0U, 0U, 0U}
 
constexpr uint8_t END_RIGHT [NUM_MACHINES] = {255U, 255U, 167U}
 
constexpr uint8_t END_OFFSET [NUM_MACHINES] = {28U, 28U, 28U}
 
constexpr uint8_t END_LEFT_PLUS_OFFSET [NUM_MACHINES] = {28U, 28U, 28U}
 
constexpr uint8_t END_RIGHT_MINUS_OFFSET [NUM_MACHINES] = {227U, 227U, 139U}
 
constexpr uint8_t ALL_MAGNETS_CLEARED_LEFT [NUM_MACHINES] = {56U, 56U, 38U}
 
constexpr uint8_t ALL_MAGNETS_CLEARED_RIGHT [NUM_MACHINES] = {199U, 199U, 129U}
 
constexpr uint8_t GARTER_SLOP = 2U
 
constexpr uint8_t GARTER_L_MAGNET_SPACING = 24U
 
constexpr uint8_t START_OFFSET [NUM_MACHINES][NUM_DIRECTIONS][NUM_CARRIAGES]
 
constexpr uint16_t FILTER_L_MIN [NUM_MACHINES] = { 200U, 200U, 200U}
 
constexpr uint16_t FILTER_L_MAX [NUM_MACHINES] = { 600U, 600U, 600U}
 
constexpr uint16_t FILTER_R_MIN [NUM_MACHINES] = { 200U, 200U, 200U}
 
constexpr uint16_t FILTER_R_MAX [NUM_MACHINES] = {1023U, 600U, 600U}
 
constexpr uint16_t SOLENOIDS_BITMASK = 0xFFFFU
 

Detailed Description

This file is part of AYAB.

AYAB is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

AYAB is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with AYAB. If not, see http://www.gnu.org/licenses/.

Original Work Copyright 2013 Christian Obersteiner, Andreas Müller Modified Work Copyright 2020 Sturla Lange, Tom Price http://ayab-knitting.com

Variable Documentation

◆ START_OFFSET

constexpr uint8_t START_OFFSET[NUM_MACHINES][NUM_DIRECTIONS][NUM_CARRIAGES]
constexpr
Initial value:
= {
{
{42U, 32U, 32U},
{16U, 24U, 48U}
},
{
{42U, 32U, 32U},
{16U, 24U, 48U}
},
{
{28U + 6U, 0U, 0U},
{28U - 6U, 0U, 0U}
}}