├── .gitignore
├── C++-Source
├── !!!111!!!READMEBeforeCompiling.pdf
├── !BeforeCompiling_README!
├── QDisplay2D.cpp
├── QDisplay2D.h
├── QtContinuousStepper.cpp
├── QtContinuousStepper.h
├── QtKineticStepper.cpp
├── QtKineticStepper.h
├── TSC_Preferences.tsp
├── TwoStepperControl.pro
├── TwoStepperControl.pro.user
├── background.jpg
├── backup_Client.zip
├── backup_Client
│ ├── ccd_client.cpp
│ └── ccd_client.h
├── ccd_client.cpp
├── ccd_client.h
├── currentObjectCatalog.cpp
├── currentObjectCatalog.h
├── lx200_communication.cpp
├── lx200_communication.h
├── main.cpp
├── mainwindow.cpp
├── mainwindow.h
├── mainwindow.ui
├── obsolete.zip
├── obsolete
│ ├── backup_Client
│ │ ├── ccd_client.cpp
│ │ └── ccd_client.h
│ ├── bt_serialcomm.cpp
│ ├── bt_serialcomm.h
│ ├── tsc_bt_serialcomm.cpp
│ └── tsc_bt_serialcomm.h
├── ocv_guiding.cpp
├── ocv_guiding.h
├── qclientindi.cpp
├── qclientindi.h
├── qdarkstyle.tar
├── qdarkstyle.zip
├── qdarkstyle
│ ├── LICENSE.md
│ ├── rc.tar
│ ├── style.qrc
│ └── style.qss
├── spi_drive.cpp
├── spi_drive.h
├── tsc_globaldata.cpp
├── tsc_globaldata.h
├── usb_communications.cpp
└── usb_communications.h
├── COPYING
├── Catalogs
├── Abell.tsc
├── Arp.tsc
├── Barnard.tsc
├── BrightStars.tsc
├── Caldwell.tsc
├── Herschel2500.tsc
├── Herschel400.tsc
├── Hickson.tsc
├── IC.tsc
├── LyndsBrightNebulae.tsc
├── LyndsDarkNebulae.tsc
├── Messier.tsc
├── NGC.tsc
├── PreciseAlignmentStars.tsc
├── Shakbazian.tsc
├── Sharpless.tsc
└── YaleBrightStarsSAO.tsc
├── Hardware
├── 1_TSC_PiHAT_GPS
│ ├── GerberFiles.tar
│ ├── GerberFiles
│ │ ├── TSC_PiHat_ILD_V1_5.2_contour.gm1
│ │ ├── TSC_PiHat_ILD_V1_5.2_copperBottom.gbl
│ │ ├── TSC_PiHat_ILD_V1_5.2_copperTop.gtl
│ │ ├── TSC_PiHat_ILD_V1_5.2_drill.txt
│ │ ├── TSC_PiHat_ILD_V1_5.2_maskBottom.gbs
│ │ ├── TSC_PiHat_ILD_V1_5.2_maskTop.gts
│ │ ├── TSC_PiHat_ILD_V1_5.2_pnp.txt
│ │ ├── TSC_PiHat_ILD_V1_5.2_silkBottom.gbo
│ │ ├── TSC_PiHat_ILD_V1_5.2_silkTop.gto
│ │ ├── TSC_PiHat_ILD_V1_5.3_contour.gm1
│ │ ├── TSC_PiHat_ILD_V1_5.3_copperBottom.gbl
│ │ ├── TSC_PiHat_ILD_V1_5.3_copperTop.gtl
│ │ ├── TSC_PiHat_ILD_V1_5.3_drill.txt
│ │ ├── TSC_PiHat_ILD_V1_5.3_maskBottom.gbs
│ │ ├── TSC_PiHat_ILD_V1_5.3_maskTop.gts
│ │ ├── TSC_PiHat_ILD_V1_5.3_pnp.txt
│ │ ├── TSC_PiHat_ILD_V1_5.3_silkBottom.gbo
│ │ └── TSC_PiHat_ILD_V1_5.3_silkTop.gto
│ ├── ST4_Temp
│ │ └── ST4_Temp.ino
│ ├── ST4_Temp_GPS
│ │ └── ST4_Temp_GPS.ino
│ └── TSC_PiHat_ILD_V1_5.3.fzz
├── 2_AMIS_Drives
│ └── Teensy4
│ │ ├── AMIS30543_Teensy_2.fzz
│ │ ├── AMIS30543_Teensy_2_pcb.jpg
│ │ ├── AMIS30543_Teensy_4.fzz
│ │ ├── AMIS_StepperInterface_DE
│ │ └── AMIS_StepperInterface_DE.ino
│ │ ├── AMIS_StepperInterface_RA
│ │ └── AMIS_StepperInterface_RA.ino
│ │ ├── Gerber
│ │ ├── AMIS30543_Teensy_2_contour.gm1
│ │ ├── AMIS30543_Teensy_2_copperBottom.gbl
│ │ ├── AMIS30543_Teensy_2_copperTop.gtl
│ │ ├── AMIS30543_Teensy_2_drill.txt
│ │ ├── AMIS30543_Teensy_2_maskBottom.gbs
│ │ ├── AMIS30543_Teensy_2_maskTop.gts
│ │ ├── AMIS30543_Teensy_2_pnp.txt
│ │ ├── AMIS30543_Teensy_2_silkBottom.gbo
│ │ └── AMIS30543_Teensy_2_silkTop.gto
│ │ ├── Gerber4
│ │ ├── AMIS30543_Teensy_4_contour.gm1
│ │ ├── AMIS30543_Teensy_4_copperBottom.gbl
│ │ ├── AMIS30543_Teensy_4_copperTop.gtl
│ │ ├── AMIS30543_Teensy_4_drill.txt
│ │ ├── AMIS30543_Teensy_4_maskBottom.gbs
│ │ ├── AMIS30543_Teensy_4_maskTop.gts
│ │ ├── AMIS30543_Teensy_4_pnp.txt
│ │ ├── AMIS30543_Teensy_4_silkBottom.gbo
│ │ └── AMIS30543_Teensy_4_silkTop.gto
│ │ └── StepperCommunicationsProtocol.txt
├── 3_TCP_Handbox
│ ├── TCP_Handbox_AdafruitFeather
│ │ ├── TCP_Handbox.fzz
│ │ ├── TCP_Handbox
│ │ │ ├── TCP_Handbox.ino
│ │ │ └── TCP_HandboxNew.ino
│ │ ├── TCP_Handbox_Drilling_Template.pdf
│ │ └── TCP_Handbox_Faceplate.pdf
│ └── TCP_Handbox_LOLIND32Pro
│ │ ├── Gerber
│ │ ├── TCP_Handbox_contour.gm1
│ │ ├── TCP_Handbox_copperBottom.gbl
│ │ ├── TCP_Handbox_copperTop.gtl
│ │ ├── TCP_Handbox_drill.txt
│ │ ├── TCP_Handbox_maskBottom.gbs
│ │ ├── TCP_Handbox_maskTop.gts
│ │ ├── TCP_Handbox_pnp.txt
│ │ ├── TCP_Handbox_silkBottom.gbo
│ │ └── TCP_Handbox_silkTop.gto
│ │ ├── TCP_Handbox.fzz
│ │ ├── TCP_HandboxWemos
│ │ └── TCP_HandboxWemos.ino
│ │ ├── TCP_Handbox_pcb.jpg
│ │ └── TCP_Handbox_schem.jpg
├── 4_FocusMotors
│ ├── Focusstepper_Test
│ │ └── Focusstepper_Test.ino
│ ├── Gerber.tar
│ ├── Gerber
│ │ ├── MotorBoard_contour.gm1
│ │ ├── MotorBoard_copperBottom.gbl
│ │ ├── MotorBoard_copperTop.gtl
│ │ ├── MotorBoard_drill.txt
│ │ ├── MotorBoard_maskBottom.gbs
│ │ ├── MotorBoard_maskTop.gts
│ │ ├── MotorBoard_pnp.txt
│ │ ├── MotorBoard_silkBottom.gbo
│ │ └── MotorBoard_silkTop.gto
│ ├── MotorBoard.fzz
│ ├── MotorBoard_pcb.jpg
│ ├── MotorBoard_schem.jpg
│ ├── SPI_TSC_Slave
│ │ └── SPI_TSC_Slave.ino
│ └── TheTSCStepperProtocol
├── AMIS_Drives
│ ├── Teensy3_5
│ │ ├── AMIS30543_Teensy_1_3.fzz
│ │ ├── AMIS_StepperInterface_DE
│ │ │ └── AMIS_StepperInterface_DE.ino
│ │ └── AMIS_StepperInterface_RA
│ │ │ └── AMIS_StepperInterface_RA.ino
│ └── Teensy4
│ │ └── AMIS30543_Teensy_4.fzz
├── ConnectorBreakout
│ ├── ConnectorBreakout.fzz
│ ├── ConnectorBreakout_pcb.jpg
│ ├── Gerber.tar
│ └── Gerber
│ │ ├── ConnectorBreakout_contour.gm1
│ │ ├── ConnectorBreakout_copperBottom.gbl
│ │ ├── ConnectorBreakout_copperTop.gtl
│ │ ├── ConnectorBreakout_drill.txt
│ │ ├── ConnectorBreakout_maskBottom.gbs
│ │ ├── ConnectorBreakout_maskTop.gts
│ │ ├── ConnectorBreakout_pnp.txt
│ │ ├── ConnectorBreakout_silkBottom.gbo
│ │ └── ConnectorBreakout_silkTop.gto
├── Docs
│ ├── LX200CommandSet.pdf
│ └── Taki_matrix_method_rev_e.pdf
├── FocusMotors
│ ├── Focusstepper_Test
│ │ └── Focusstepper_Test.ino
│ ├── MotorBoard.fzz
│ ├── SPI_TSC_Slave
│ │ └── SPI_TSC_Slave.ino
│ └── TheTSCStepperProtocol
├── TCP_Handbox
│ ├── TCP_Handbox_AdafruitFeather
│ │ ├── TCP_Handbox.fzz
│ │ ├── TCP_Handbox
│ │ │ ├── TCP_Handbox.ino
│ │ │ └── TCP_HandboxNew.ino
│ │ ├── TCP_Handbox_Drilling_Template.pdf
│ │ └── TCP_Handbox_Faceplate.pdf
│ └── TCP_Handbox_LOLIND32Pro
│ │ └── TCP_Handbox.fzz
├── TSC_PartsList.ods
├── TSC_PartsList.xls
└── obsolete
│ ├── BluetoothHandbox
│ ├── HandboxV1_2.fzz
│ └── sketch_handbox_TSC
│ │ └── sketch_handbox_TSC.ino
│ ├── TSC_PiHat_ILD_V1_5.1.fzz
│ ├── Teensy3_5
│ ├── AMIS30543_Teensy_1_3.fzz
│ ├── AMIS_StepperInterface_DE
│ │ └── AMIS_StepperInterface_DE.ino
│ └── AMIS_StepperInterface_RA
│ │ └── AMIS_StepperInterface_RA.ino
│ └── USB_TSC_TeensySlave
│ ├── Bigger4DriveBoardV1.1.fzz
│ ├── DRVTeensyTest.ino
│ ├── TheTSCStepperProtocolForTheQuadDriverBoard
│ └── USB_TSC_TeensySlave.ino
├── Manual_Imagedata
├── creator-compilers.png
└── creator-kits.png
├── QuickstarterDocs
├── QuickstartCompile.odt
├── QuickstartCompile.pdf
├── TSC_DEMO_README.odt
├── TSC_DEMO_README.pdf
├── TSC_Quickstart.odt
└── TSC_Quickstart.pdf
├── README.md
└── TSCUserGuide.pdf
/.gitignore:
--------------------------------------------------------------------------------
1 | *.pro.user
2 | build-TwoStepperControl*/
--------------------------------------------------------------------------------
/C++-Source/!!!111!!!READMEBeforeCompiling.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/C++-Source/!!!111!!!READMEBeforeCompiling.pdf
--------------------------------------------------------------------------------
/C++-Source/!BeforeCompiling_README!:
--------------------------------------------------------------------------------
1 | If you have downloaded TSC from Github,
2 | you need to untar the "rc" file in the
3 | "qdarkstyle" folder before opening the .pro file
4 | with QtCreator!!!
--------------------------------------------------------------------------------
/C++-Source/QDisplay2D.h:
--------------------------------------------------------------------------------
1 | /*--------------------------------------------------------------------------
2 | // this code is part of "TSC", a free control software for astronomical telescopes
3 | // Copyright (C) 2016-18, wolfgang birkfellner
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | // This program is distributed in the hope that it will be useful,
9 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | // GNU General Public License for more details.
12 | // You should have received a copy of the GNU General Public License
13 | // along with this program. If not, see .
14 |
15 | //---------------------------------------------------
16 | // and apparently it is derived from a Qt class
17 | ***************************************************************************
18 | **
19 | ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
20 | ** All rights reserved.
21 | ** Contact: Nokia Corporation (qt-info@nokia.com)
22 | **
23 | ** This file is part of the examples of the Qt Toolkit.
24 | **
25 | ** $QT_BEGIN_LICENSE:LGPL$
26 | ** Commercial Usage
27 | ** Licensees holding valid Qt Commercial licenses may use this file in
28 | ** accordance with the Qt Commercial License Agreement provided with the
29 | ** Software or, alternatively, in accordance with the terms contained in
30 | ** a written agreement between you and Nokia.
31 | **
32 | ** GNU Lesser General Public License Usage
33 | ** Alternatively, this file may be used under the terms of the GNU Lesser
34 | ** General Public License version 2.1 as published by the Free Software
35 | ** Foundation and appearing in the file LICENSE.LGPL included in the
36 | ** packaging of this file. Please review the following information to
37 | ** ensure the GNU Lesser General Public License version 2.1 requirements
38 | ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
39 | **
40 | ** In addition, as a special exception, Nokia gives you certain additional
41 | ** rights. These rights are described in the Nokia Qt LGPL Exception
42 | ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
43 | **
44 | ** GNU General Public License Usage
45 | ** Alternatively, this file may be used under the terms of the GNU
46 | ** General Public License version 3.0 as published by the Free Software
47 | ** Foundation and appearing in the file LICENSE.GPL included in the
48 | ** packaging of this file. Please review the following information to
49 | ** ensure the GNU General Public License version 3.0 requirements will be
50 | ** met: http://www.gnu.org/copyleft/gpl.html.
51 | **
52 | ** If you have questions regarding the use of this file, please contact
53 | ** Nokia at qt-info@nokia.com.
54 | ** $QT_END_LICENSE$
55 | **
56 | ****************************************************************************/
57 |
58 | #ifndef QDISPLAY2D_H
59 | #define QDISPLAY2D_H
60 |
61 | #include
62 | #include
63 | #include
64 | #include
65 |
66 | class QDisplay2D: public QGraphicsView {
67 | Q_OBJECT
68 |
69 | public:
70 | QDisplay2D(QWidget *parent = 0, int = 425, int = 340);
71 | void addBgImage(QPixmap image);
72 | bool isImageLoaded();
73 |
74 | protected:
75 | void keyPressEvent(QKeyEvent *event);
76 | void mousePressEvent(QMouseEvent *event);
77 | void mouseMoveEvent(QMouseEvent *event);
78 | void mouseReleaseEvent(QMouseEvent *event);
79 | void wheelEvent(QWheelEvent *event);
80 |
81 | private:
82 | void setupScene();
83 | QGraphicsScene *scene;
84 | QGraphicsLineItem *cursorV;
85 | QGraphicsLineItem *cursorH;
86 | QGraphicsPixmapItem *bg;
87 | QPixmap *backGrndImg;
88 | void changeLinePos(int x, int y);
89 | int xDrag;
90 | int yDrag;
91 | int xLineDrag;
92 | int yLineDrag;
93 | qreal minScaleFactor;
94 | bool imageLoaded;
95 |
96 | signals:
97 | void currentViewStatusSignal(QPointF cursorPos);
98 |
99 | private slots:
100 | void currentViewStatusSlot(QPointF cursorPos);
101 | void currentViewStatusSlot(void);
102 | };
103 |
104 | #endif // QDISPLAY2D_H
105 |
--------------------------------------------------------------------------------
/C++-Source/QtContinuousStepper.h:
--------------------------------------------------------------------------------
1 | // this code is part of "TSC", a free control software for astronomical telescopes
2 | // Copyright (C) 2016-18, wolfgang birkfellner
3 | // This program is free software: you can redistribute it and/or modify
4 | // it under the terms of the GNU General Public License as published by
5 | // the Free Software Foundation, either version 3 of the License, or
6 | // (at your option) any later version.
7 | // This program is distributed in the hope that it will be useful,
8 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | // GNU General Public License for more details.
11 | // You should have received a copy of the GNU General Public License
12 | // along with this program. If not, see .
13 |
14 | //---------------------------------------------------
15 |
16 | // a class similar to QtKineticStepper; this one does, in addition, carry a permanent motion. in TSC, this is the right ascension drive ...
17 | #ifndef QTCONTINUOUSSTEPPER_H
18 | #define QTCONTINUOUSSTEPPER_H
19 |
20 | #include
21 |
22 | class QtContinuousStepper {
23 | private:
24 | int errorOpen; // error received when opening a communication channel
25 | int errorCreate; // error received when creating a contact to the controller of the drive
26 | int snumifk; // an identifier for the controller, can be a serial number or something similar
27 | int vifk; // version number of the interface
28 | double speedMax; // maximum speed in microsteps/sec
29 | double speedMin; // minimal speed in microsteps per second
30 | double acc; // acceleration value for the stepper in microsteps/s^2
31 | double currMax; // maximum current if it can be set via the software
32 | double gearRatio; // the product of planetary gear, intermediated gear and worm wheels divided by step size
33 | double microsteps; // the current number of microsteps
34 | int stopped; // a flag that indicates whether the drive has stopped
35 | double stepsPerSecond; // the current rate of microsteps per second
36 | bool hBoxSlewEnded; // a boolean that is set to true when a long slew has timed out; needed for the handbox-slew from TSC
37 | bool isHBoxSlew;
38 | short RADirection = 1; // a value that takes +/-1; it inverts continuous motion, for instance when moving to the southern hemisphere
39 | QString sendCommandToAMIS(QString, long);
40 | QString sendCommandToAMIS(QString);
41 |
42 | public:
43 | QtContinuousStepper(void);
44 | ~QtContinuousStepper(void);
45 | void startTracking(void); // start continuous motion to compensate for earth's rotation
46 | void travelForNSteps(long,short,int,bool);
47 | void travelForNSteps(short,float);
48 | void travelForGuide(float, bool); // quick changes in speed for guiding
49 | void setRADirection(short); // switch "RADirection"
50 | void setGearRatioAndMicrosteps(double, double); // the product of the gears divided by the step size and the number of microsteps is stored here
51 | void changeMicroSteps(double); // switches the microstepping ratio for variable drivers
52 | void setInitialParamsAndComputeBaseSpeed(double,double); // after opening
53 | // a multiple of sidereal speed and a flag that indicates whether the slew was triggered by the handbox.
54 | // handbox slews terminate either after 180 or 360 degrees ...
55 | double getKineticsFromController(short); //get parameters from controller such as maximum current, currently set acceleration, currently set velocity and so on ...
56 | bool getErrorFromDriver(void); // return the state of the error pin
57 | void setStepperParams(double, short); // set acceleration, speed and current and convey it to the controller
58 | void shutDownDrive(void); // set motor to "unengaged state" - no more current is applied
59 | void hwResetDriver(void);
60 | bool getStopped(void); // check whether the motor is active or not ...
61 | void resetSteppersAfterStop(void);
62 | void setDriveToStopped(void); // necessary to convey the AMIS that they were stopped
63 | void stopDrive(void); // halt the motor
64 | //void engageDrive(void); // set motor to "engaged" stae without driving it
65 | void changeSpeedForGearChange(void); // a callback that changes speeds if the gear ratios change
66 | bool hasHBoxSlewEnded(void); // retrieve the state of the "hBoxSlewEnded" - flag ...
67 |
68 | };
69 | #endif // QTCONTINUOUSSTEPPER_H
70 |
--------------------------------------------------------------------------------
/C++-Source/QtKineticStepper.h:
--------------------------------------------------------------------------------
1 | // this code is part of "TSC", a free control software for astronomical telescopes
2 | // Copyright (C) 2016-18, wolfgang birkfellner
3 | // This program is free software: you can redistribute it and/or modify
4 | // it under the terms of the GNU General Public License as published by
5 | // the Free Software Foundation, either version 3 of the License, or
6 | // (at your option) any later version.
7 | // This program is distributed in the hope that it will be useful,
8 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | // GNU General Public License for more details.
11 | // You should have received a copy of the GNU General Public License
12 | // along with this program. If not, see .
13 |
14 | //---------------------------------------------------
15 | // a base class handling stepper motors that are controlled by accceleration and speed (=kinetic parameters);
16 | // it is a parent to QtContinuousStepper, which features motors that do not only carry out motion on demand,
17 | // but also a permamnent motion on top of it. for TSC, this class is parent to the declination drive, whereas
18 | // the RA drive is a continuous drive ...
19 |
20 | #ifndef QTKINETICSTEPPER_H
21 | #define QTKINETICSTEPPER_H
22 |
23 | #include
24 | //#include "usb_communications.h"
25 |
26 | class QtKineticStepper {
27 |
28 | private:
29 | int errorOpen; // error received when opening a communication channel
30 | int errorCreate; // error received when creating a contact to the controller of the drive
31 | int snumifk; // an identifier for the controller, can be a serial number or something similar
32 | int vifk; // version number of the interface
33 | double speedMax; // maximum speed in microsteps/sec
34 | double speedMin; // minimal speed in microsteps per second
35 | double acc; // acceleration value for the stepper in microsteps/s^2
36 | double currMax; // maximum current if it can be set via the software
37 | double gearRatio; // the product of planetary gear, intermediated gear and worm wheels divided by step size
38 | double microsteps; // the current number of microsteps
39 | int stopped; // a flag that indicates whether the drive has stopped
40 | double stepsPerSecond; // the current rate of microsteps per second
41 | bool hBoxSlewEnded; // a boolean that is set to true when a long slew has timed out; needed for the handbox-slew from TSC
42 | bool isHBoxSlew;
43 | QString sendCommandToAMIS(QString, long);
44 | QString sendCommandToAMIS(QString);
45 |
46 | public:
47 | QtKineticStepper(void); // contructor, gets maximum acceleration and maximum current
48 | ~QtKineticStepper(void);
49 | void setGearRatioAndMicrosteps(double, double); // the product of the gears divided by the step size and the number of microsteps is stored here
50 | void changeMicroSteps(double); // switches the microstepping ratio for variable drivers
51 | void setInitialParamsAndComputeBaseSpeed(double,double); // after opening
52 | void travelForNSteps(long,short,int,bool); // tell the drive to travel for steps, direction (+/-1),
53 | // a multiple of sidereal speed and a flag that indicates whether the slew was triggered by the handbox.
54 | // handbox slews terminate either after 180 or 360 degrees ...
55 | void travelForNSteps(short,float); // tell the drive to travel a constant number of steps in direction (+/-1) and a fraction of sidereal speed - used in ST4 guiding
56 | double getKineticsFromController(short); //get parameters from controller such as maximum current, currently set acceleration, currently set velocity and so on ...
57 | bool getErrorFromDriver(void); // return the state of the error pin
58 | void setStepperParams(double, short); // set acceleration, speed and current and convey it to the controller
59 | void shutDownDrive(void); // set motor to "unengaged state" - no more current is applied
60 | bool getStopped(void); // check whether the motor is active or not ...
61 | void stopDrive(void); // halt the motor
62 | void resetSteppersAfterStop(void);
63 | void hwResetDriver(void);
64 | //void setDriveToStopped(void); // necessary to convey the AMIS that they were stopped
65 | //void engageDrive(void); // set motor to "engaged" stae without driving it
66 | void changeSpeedForGearChange(void); // a callback that changes speeds if the gear ratios change
67 | bool hasHBoxSlewEnded(void); // retrieve the state of the "hBoxSlewEnded" - flag ...
68 | };
69 | #endif // QTKINETICSTEPPER_H
70 |
--------------------------------------------------------------------------------
/C++-Source/TSC_Preferences.tsp:
--------------------------------------------------------------------------------
1 | 418664// Phidget 1067 Board Serial Number for RA.
2 | 421153// Phidget 1067 Board Serial Number for Declination.
3 | 9.000000// Gear ratio for planetary connected to RA-stepper.
4 | 1.000000// Gear ratio of non planetary/non worm gear in RA.
5 | 288.000000// Number of teeth of the RA-worm.
6 | 1.800000// Size of the full step for RA-Stepper in degrees.
7 | 9.000000// Gear ratio for planetary connected to Declination-stepper.
8 | 1.000000// Gear ratio of non planetary/non worm gear in Declination.
9 | 213.000000// Number of teeth of the RA-worm.
10 | 1.800000// Size of the full step for Declination-Stepper in degrees.
11 | 16.000000// Number of microsteps your drive can do - 16 for the 1067-board.
12 | 10000.000000// Acceleration in Microsteps/s^2 for Right Ascension Drive.
13 | 10000.000000// Acceleration in Microsteps/s^2 for Declination Drive.
14 | 0.300000// Maximum Current in A for RA-Drive.
15 | 0.300000// Maximum Current in A for Declination Drive.
16 | 5.200000// Pixelsize x for guiding camera.
17 | 5.200000// Pixelsize y for guiding camera.
18 | 1280// Chip width x for guiding camera.
19 | 1024// Chip width y for guiding camera.
20 | 1000// Focal length of guidescope.
21 | 48.000000// Latitude of observation site.
22 | 15.000000// Longitude of observation site.
23 | 1.000000// UTC Offset of Observation site.
24 | TSC// Name of observation site.
25 | Auxiliary Drive 1// Name of first auxiliary stepper.
26 | Auxiliary Drive 2// Name of second auxiliary stepper.
27 | 500// Standard number of microsteps for first auxiliary drive.
28 | 500// Standard number of microsteps for second auxiliary drive.
29 | 500// Acceleration for both auxiliary drives.
30 | 500// Speed for both auxiliary drives.
31 | 16// Denominator for microstepping ratio.
32 | 0// auxDrive connected to the focuser of the guider.
33 | 7.000000// Pixel diagonal size of the DSLR in micron.
34 | 1000// Focal length of the main telescope in mm.
35 | 3// Minimum range for dithering of DSLR exposures.
36 | 15// Maximum range for dithering of DSLR exposures.
37 |
--------------------------------------------------------------------------------
/C++-Source/TwoStepperControl.pro:
--------------------------------------------------------------------------------
1 | #-------------------------------------------------
2 | #
3 | # Project created by QtCreator 2016-10-30T19:59:37
4 | #
5 | #-------------------------------------------------
6 |
7 | QT += core gui
8 | QT += serialport
9 | QT += network
10 |
11 | greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
12 |
13 | TARGET = TwoStepperControl
14 | TEMPLATE = app
15 | RESOURCES += qdarkstyle/style.qrc
16 | CONFIG += c++11
17 | CONFIG += j4
18 |
19 |
20 |
21 | SOURCES += \
22 | main.cpp \
23 | mainwindow.cpp \
24 | currentObjectCatalog.cpp \
25 | QDisplay2D.cpp \
26 | tsc_globaldata.cpp \
27 | lx200_communication.cpp \
28 | ocv_guiding.cpp \
29 | ccd_client.cpp \
30 | QtKineticStepper.cpp \
31 | QtContinuousStepper.cpp \
32 | spi_drive.cpp \
33 | usb_communications.cpp
34 |
35 | HEADERS += \
36 | mainwindow.h \
37 | currentObjectCatalog.h \
38 | QDisplay2D.h \
39 | tsc_globaldata.h \
40 | lx200_communication.h \
41 | ocv_guiding.h \
42 | ccd_client.h \
43 | QtKineticStepper.h \
44 | QtContinuousStepper.h \
45 | spi_drive.h \
46 | usb_communications.h
47 |
48 | # INCLUDEPATH += /home/pi
49 | # INCLUDEPATH += /home/pi/libindi/libs/
50 | # INCLUDEPATH += /home/pi/libindi/
51 | INCLUDEPATH += /usr/local/include/opencv2
52 | INCLUDEPATH += /usr/include/libindi
53 | INCLUDEPATH += /usr/include/opencv2
54 |
55 | FORMS += mainwindow.ui
56 |
57 | QMAKE_DEFAULT_INCDIRS = \\
58 |
59 | win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../usr/lib/x86_64-linux-gnu/release/ -lusb-1.0
60 | else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../usr/lib/x86_64-linux-gnu/debug/ -lusb-1.0
61 | else:unix: LIBS += -L$$PWD/../../../../usr/lib/x86_64-linux-gnu/ -lusb-1.0
62 |
63 | win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../usr/lib/release/ -lindiclient
64 | else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../usr/lib/debug/ -lindiclient
65 | else:unix: LIBS += -L$$PWD/../../../../usr/lib/ -lindiclient
66 |
67 |
68 | win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../usr/lib/arm-linux-gnueabihf/release/ -lm
69 | else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../usr/lib/arm-linux-gnueabihf/debug/ -lm
70 | else:unix: LIBS += -L$$PWD/../../../../usr/lib/arm-linux-gnueabihf/ -lm
71 |
72 | INCLUDEPATH += $$PWD/../../../../usr/lib/arm-linux-gnueabihf
73 | DEPENDPATH += $$PWD/../../../../usr/lib/arm-linux-gnueabihf
74 |
75 | win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../usr/lib/arm-linux-gnueabihf/release/ -lz
76 | else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../usr/lib/arm-linux-gnueabihf/debug/ -lz
77 | else:unix: LIBS += -L$$PWD/../../../../usr/lib/arm-linux-gnueabihf/ -lz
78 |
79 | INCLUDEPATH += $$PWD/../../../../usr/lib/arm-linux-gnueabihf
80 | DEPENDPATH += $$PWD/../../../../usr/lib/arm-linux-gnueabihf
81 |
82 | win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../usr/lib/arm-linux-gnueabihf/release/ -lcfitsio
83 | else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../usr/lib/arm-linux-gnueabihf/debug/ -lcfitsio
84 | else:unix: LIBS += -L$$PWD/../../../../usr/lib/arm-linux-gnueabihf/ -lcfitsio
85 |
86 | INCLUDEPATH += $$PWD/../../../../usr/lib/arm-linux-gnueabihf
87 | DEPENDPATH += $$PWD/../../../../usr/lib/arm-linux-gnueabihf
88 |
89 | win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../usr/lib/arm-linux-gnueabihf/release/ -lpthread
90 | else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../usr/lib/arm-linux-gnueabihf/debug/ -lpthread
91 | else:unix: LIBS += -L$$PWD/../../../../usr/lib/arm-linux-gnueabihf/ -lpthread
92 |
93 | INCLUDEPATH += $$PWD/../../../../usr/lib/arm-linux-gnueabihf
94 | DEPENDPATH += $$PWD/../../../../usr/lib/arm-linux-gnueabihf
95 |
96 | unix:!macx: LIBS += -L$$PWD/../../../usr/local/lib/ -lopencv_core
97 |
98 | INCLUDEPATH += $$PWD/../../../usr/local/include
99 | DEPENDPATH += $$PWD/../../../usr/local/include
100 |
101 | INCLUDEPATH += $$PWD/../../../usr/include
102 | DEPENDPATH += $$PWD/../../../usr/include
103 |
104 | unix:!macx: LIBS += -L$$PWD/../../../usr/local/lib/ -lopencv_imgproc
105 |
106 | INCLUDEPATH += $$PWD/../../../usr/local/include
107 | DEPENDPATH += $$PWD/../../../usr/local/include
108 |
109 | unix:!macx: LIBS += -L$$PWD/../../../usr/lib/ -lwiringPi
110 |
111 | INCLUDEPATH += $$PWD/../../../usr/include
112 | DEPENDPATH += $$PWD/../../../usr/include
113 |
114 | unix:!macx: LIBS += -L$$PWD/../../../../usr/lib/arm-linux-gnueabihf/ -lnova
115 |
116 | INCLUDEPATH += $$PWD/../../../../usr/lib/arm-linux-gnueabihf
117 | DEPENDPATH += $$PWD/../../../../usr/lib/arm-linux-gnueabihf
118 |
--------------------------------------------------------------------------------
/C++-Source/background.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/C++-Source/background.jpg
--------------------------------------------------------------------------------
/C++-Source/backup_Client.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/C++-Source/backup_Client.zip
--------------------------------------------------------------------------------
/C++-Source/backup_Client/ccd_client.h:
--------------------------------------------------------------------------------
1 | // this code is part of "TSC", a free control software for astronomical telescopes
2 | // Copyright (C) 2016-18, wolfgang birkfellner
3 | // This program is free software: you can redistribute it and/or modify
4 | // it under the terms of the GNU General Public License as published by
5 | // the Free Software Foundation, either version 3 of the License, or
6 | // (at your option) any later version.
7 | // This program is distributed in the hope that it will be useful,
8 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | // GNU General Public License for more details.
11 | // You should have received a copy of the GNU General Public License
12 | // along with this program. If not, see .
13 |
14 | //---------------------------------------------------
15 | // this class handles reading FITS files from an INDI server for autoguiding
16 |
17 | #include
18 | #include
19 | #include
20 | #include
21 | #include
22 | #include
23 | #include
24 | #include
25 | #include
26 | #include
27 | #include
28 | #include
29 |
30 | using namespace cv;
31 |
32 | class ccd_client:public QObject, public INDI::BaseClient {
33 | Q_OBJECT
34 | public:
35 | ccd_client(bool);
36 | ~ccd_client();
37 | void takeExposure(int);
38 | void sendGain(int);
39 | bool setINDIServer(QString, int);
40 | QString* getINDIServerMessage(void);
41 | void sayGoodbyeToINDIServer(void);
42 | bool getCCDParameters(void);
43 | void setStoreImageFlag(bool);
44 | void setCameraName(QString);
45 | void disconnectFromServer(void);
46 | bool probeForCCD(void);
47 | bool cameraGainAvailable(void);
48 |
49 | protected:
50 | virtual void newDevice(INDI::BaseDevice *dp);
51 | virtual void removeDevice(INDI::BaseDevice *dp) {}
52 | virtual void newProperty(INDI::Property *property);
53 | virtual void removeProperty(INDI::Property *property) {}
54 | virtual void newBLOB(IBLOB *bp);
55 | virtual void newSwitch(ISwitchVectorProperty *svp) {}
56 | virtual void newNumber(INumberVectorProperty *nvp) {}
57 | virtual void newMessage(INDI::BaseDevice *dp, int messageID);
58 | virtual void newText(ITextVectorProperty *tvp) {}
59 | virtual void newLight(ILightVectorProperty *lvp) {}
60 | virtual void serverConnected() {}
61 | virtual void serverDisconnected(int exit_code) {}
62 |
63 | private:
64 | QString *ccdINDIName; // name of the camera in INDI lingo
65 | INDI::BaseDevice *ccd; // the camera device
66 | double pixSizeX; // physical size of one pixel in x-direction
67 | double pixSizeY; // physical size of one pixel in y-direction
68 | double frameSizeX; // number of pixels in x-direction
69 | double frameSizeY; // number of pixles in y-direction
70 | double bitsPerPixel; // depth of the camera
71 | bool cameraHasGain; // some cameras can set gain, some cannot ...
72 | QImage* fitsqimage; // a qimage, generated form raw FITS data
73 | char *scaledfitsdata; // in case of 16 bit data, this one holds the scaled 8 bit image
74 | QPixmap* displayPMap; // a qpixmap, generated for GUI display form the qimage
75 | bool newCameraImageAvailable; // name says it all
76 | QVector *myVec; // a vector for grayscale conversion
77 | QString *serverMessage; // a string for holding data non-image data from the INDI server
78 | INumberVectorProperty *ccd_exposure = NULL; // an INDI data structure on exposure time
79 | INumberVectorProperty *ccd_gain = NULL; // an INDI data structure on camera gain
80 | long expcounter; // a counter for exposures
81 | bool storeCamImages; // a boolean for handling storage of images to the SD card
82 | short simulatorCounter; // a helper for debugging
83 | bool isAProbeImage; // a flag that causes storage rather than further processing of image data
84 | bool isMainCCD;
85 | void saveBLOB(IBLOB*); // saves a BLOB to a FITS image
86 |
87 | signals:
88 | void imageAvailable(QPixmap*); // emitted when an image is available
89 | void messageFromINDIAvailable(void); // emitted when a message form INDI is available
90 | };
91 |
--------------------------------------------------------------------------------
/C++-Source/currentObjectCatalog.h:
--------------------------------------------------------------------------------
1 | // this code is part of "TSC", a free control software for astronomical telescopes
2 | // Copyright (C) 2016-18, wolfgang birkfellner
3 | // This program is free software: you can redistribute it and/or modify
4 | // it under the terms of the GNU General Public License as published by
5 | // the Free Software Foundation, either version 3 of the License, or
6 | // (at your option) any later version.
7 | // This program is distributed in the hope that it will be useful,
8 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | // GNU General Public License for more details.
11 | // You should have received a copy of the GNU General Public License
12 | // along with this program. If not, see .
13 |
14 | //---------------------------------------------------
15 | // a class for organizing the catalogs of TSC
16 |
17 | #ifndef CURRENTOBJECTCATALOG_H
18 | #define CURRENTOBJECTCATALOG_H
19 |
20 | #include
21 | #include
22 | #include
23 |
24 | class currentObjectCatalog {
25 | public:
26 | currentObjectCatalog(QString);
27 | ~currentObjectCatalog(void);
28 | long getNumberOfObjects(void);
29 | std::string getNamesOfObjects(long);
30 | float getRADec(long);
31 | float getDeclDec(long);
32 | long getEpoch(void);
33 |
34 | private:
35 | long numberOfObjects; // the numbe rof objects in the catalog
36 | long epoch; // the epoch of the catalog
37 | struct catalogEntry {
38 | long oindex;
39 | std::string oname;
40 | std::string oconstellation;
41 | float oRADec;
42 | float oDeclDec;
43 | };
44 | std::vector currentCatalogObjects; // wohooo - wolfi uses templates!!!
45 | };
46 |
47 | #endif // CURRENTOBJECTCATALOG_H
48 |
--------------------------------------------------------------------------------
/C++-Source/lx200_communication.h:
--------------------------------------------------------------------------------
1 | // this code is part of "TSC", a free control software for astronomical telescopes
2 | // Copyright (C) 2016-18, wolfgang birkfellner
3 | // This program is free software: you can redistribute it and/or modify
4 | // it under the terms of the GNU General Public License as published by
5 | // the Free Software Foundation, either version 3 of the License, or
6 | // (at your option) any later version.
7 | // This program is distributed in the hope that it will be useful,
8 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | // GNU General Public License for more details.
11 | // You should have received a copy of the GNU General Public License
12 | // along with this program. If not, see .
13 |
14 | //---------------------------------------------------
15 | // thi class implements the basic LX200 protocol of TSC
16 |
17 | #ifndef LX200_COMMUNICATION_H
18 | #define LX200_COMMUNICATION_H
19 |
20 | #include
21 | #include
22 | #include
23 | #include
24 | #include
25 | #include
26 | #include
27 | #include
28 |
29 | class lx200_communication:public QObject {
30 | Q_OBJECT
31 | public:
32 | lx200_communication(void);
33 | ~lx200_communication(void);
34 | void handleDataFromClient(QString);
35 | double getReceivedCoordinates(short); // 0 for RA, 1 for Decl - retrieve data conveyed from LX
36 | QString* getLX200Command(void);
37 | QString* getLX200Response(void);
38 | QString* getLX200ResponseRA(void);
39 | QString* getLX200ResponseDecl(void);
40 | void clearReplyString(void);
41 | void setNumberFormat(bool);
42 |
43 | private:
44 | QString *replyStrLX;
45 | QString *assembledString;
46 | QString *msgRAString;
47 | QString *msgDeclString;
48 | QString *incomingCommand;
49 | QString *subCmd;
50 | QString *lastSubCmd;
51 | QString *timeString;
52 | QString *dateString;
53 | double receivedRAFromLX;
54 | double receivedDeclFromLX;
55 | double llong;
56 | double llat;
57 | int lutc;
58 | bool handleBasicLX200Protocol(QString);
59 | bool gotRACoordinates;
60 | bool gotDeclCoordinates;
61 | bool gotDate;
62 | bool gotTime;
63 | bool gotLat;
64 | bool gotLong;
65 | bool gotUTCOffset;
66 | bool sendSimpleCoordinates; // use either ddd.mm or ddd.mm.ss
67 | void assembleDeclinationString(void);
68 | void assembleRAString(void);
69 | void sendCommand(short what);
70 | void setSystemDateAndTime(void);
71 | void setLocalization(void);
72 |
73 | struct LX200CommandStruct {
74 | QString slewRA;
75 | QString slewDecl;
76 | QString slewPossible;
77 | QString syncCommand;
78 | QString getDecl;
79 | QString getRA;
80 | QString getHiDef;
81 | QString moveEast;
82 | QString moveWest;
83 | QString moveNorth;
84 | QString moveSouth;
85 | QString stopMoveEast;
86 | QString stopMoveWest;
87 | QString stopMoveNorth;
88 | QString stopMoveSouth;
89 | QString setCenterSpeed;
90 | QString setGuideSpeed;
91 | QString setFindSpeed;
92 | QString setGOTOSpeed;
93 | QString stopMotion;
94 | QString getCalendarFormat;
95 | QString getName;
96 | QString getDate;
97 | QString getTrackingRate;
98 | QString getLatitude;
99 | QString getLongitude;
100 | QString getUTCOffset;
101 | QString setUTCOffset;
102 | QString getLocalTime;
103 | QString setLocalTime;
104 | QString setLocalDate;
105 | QString setLongitude;
106 | QString setLatitude;
107 | };
108 | struct LX200CommandStruct LX200Commands;
109 | signals:
110 | void RS232CommandReceived(void);
111 | void logRASent(void);
112 | void logDeclSent(void);
113 | void logCommandSent(void);
114 | void RS232slew(void);
115 | void RS232sync(void);
116 | void RS232stopMotion(void);
117 | void RS232stopMoveEast(void);
118 | void RS232stopMoveWest(void);
119 | void RS232stopMoveNorth(void);
120 | void RS232stopMoveSouth(void);
121 | void RS232moveEast(void);
122 | void RS232moveWest(void);
123 | void RS232moveNorth(void);
124 | void RS232moveSouth(void);
125 | void RS232centerSpeed(void);
126 | void RS232guideSpeed(void);
127 | void RS232findSpeed(void);
128 | void RS232gotoSpeed(void);
129 | void polarAlignmentSignal(void);
130 | void localizationSet(void);
131 | void clientRASent(QString*);
132 | void clientDeclSent(QString*);
133 | void clientCommandSent(QString*);
134 | };
135 |
136 | #endif // LX200_COMMUNICATION_H
137 |
--------------------------------------------------------------------------------
/C++-Source/main.cpp:
--------------------------------------------------------------------------------
1 | // this code is part of "TSC", a free control software for astronomical telescopes
2 | // Copyright (C) 2016-19, wolfgang birkfellner, mark sproul
3 | // This program is free software: you can redistribute it and/or modify
4 | // it under the terms of the GNU General Public License as published by
5 | // the Free Software Foundation, either version 3 of the License, or
6 | // (at your option) any later version.
7 | // This program is distributed in the hope that it will be useful,
8 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | // GNU General Public License for more details.
11 | // You should have received a copy of the GNU General Public License
12 | // along with this program. If not, see .
13 |
14 | //---------------------------------------------------
15 | // Edit history:
16 | // Dec. 3., 2018 added command line options
17 |
18 | #include "mainwindow.h"
19 | #include
20 | #include
21 | #include "tsc_globaldata.h"
22 |
23 | int main(int argc, char *argv[]) {
24 | int ii;
25 | bool framelessWindow = true;
26 | QApplication a(argc, argv);
27 | MainWindow w;
28 |
29 | for (ii=1; ii < argc; ii++) {
30 | if (argv[ii][0] == '-') {
31 | switch (argv[ii][1]) {
32 | case 'w': framelessWindow = false; break;
33 | }
34 | }
35 | }
36 | if (framelessWindow == true) {
37 | w.setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
38 | }
39 | w.show();
40 |
41 | QFile f(":qdarkstyle/style.qss");
42 | if (!f.exists()) {
43 | qDebug() << "Unable to set stylesheet, file not found\n";
44 | }
45 | else
46 | {
47 | f.open(QFile::ReadOnly | QFile::Text);
48 | QTextStream ts(&f);
49 | qApp->setStyleSheet(ts.readAll());
50 | }
51 |
52 | return a.exec();
53 | }
54 |
--------------------------------------------------------------------------------
/C++-Source/obsolete.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/C++-Source/obsolete.zip
--------------------------------------------------------------------------------
/C++-Source/obsolete/backup_Client/ccd_client.h:
--------------------------------------------------------------------------------
1 | // this code is part of "TSC", a free control software for astronomical telescopes
2 | // Copyright (C) 2016-18, wolfgang birkfellner
3 | // This program is free software: you can redistribute it and/or modify
4 | // it under the terms of the GNU General Public License as published by
5 | // the Free Software Foundation, either version 3 of the License, or
6 | // (at your option) any later version.
7 | // This program is distributed in the hope that it will be useful,
8 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | // GNU General Public License for more details.
11 | // You should have received a copy of the GNU General Public License
12 | // along with this program. If not, see .
13 |
14 | //---------------------------------------------------
15 | // this class handles reading FITS files from an INDI server for autoguiding
16 |
17 | #include
18 | #include
19 | #include
20 | #include
21 | #include
22 | #include
23 | #include
24 | #include
25 | #include
26 | #include
27 | #include
28 | #include
29 |
30 | using namespace cv;
31 |
32 | class ccd_client:public QObject, public INDI::BaseClient {
33 | Q_OBJECT
34 | public:
35 | ccd_client(bool);
36 | ~ccd_client();
37 | void takeExposure(int);
38 | void sendGain(int);
39 | bool setINDIServer(QString, int);
40 | QString* getINDIServerMessage(void);
41 | void sayGoodbyeToINDIServer(void);
42 | bool getCCDParameters(void);
43 | void setStoreImageFlag(bool);
44 | void setCameraName(QString);
45 | void disconnectFromServer(void);
46 | bool probeForCCD(void);
47 | bool cameraGainAvailable(void);
48 |
49 | protected:
50 | virtual void newDevice(INDI::BaseDevice *dp);
51 | virtual void removeDevice(INDI::BaseDevice *dp) {}
52 | virtual void newProperty(INDI::Property *property);
53 | virtual void removeProperty(INDI::Property *property) {}
54 | virtual void newBLOB(IBLOB *bp);
55 | virtual void newSwitch(ISwitchVectorProperty *svp) {}
56 | virtual void newNumber(INumberVectorProperty *nvp) {}
57 | virtual void newMessage(INDI::BaseDevice *dp, int messageID);
58 | virtual void newText(ITextVectorProperty *tvp) {}
59 | virtual void newLight(ILightVectorProperty *lvp) {}
60 | virtual void serverConnected() {}
61 | virtual void serverDisconnected(int exit_code) {}
62 |
63 | private:
64 | QString *ccdINDIName; // name of the camera in INDI lingo
65 | INDI::BaseDevice *ccd; // the camera device
66 | double pixSizeX; // physical size of one pixel in x-direction
67 | double pixSizeY; // physical size of one pixel in y-direction
68 | double frameSizeX; // number of pixels in x-direction
69 | double frameSizeY; // number of pixles in y-direction
70 | double bitsPerPixel; // depth of the camera
71 | bool cameraHasGain; // some cameras can set gain, some cannot ...
72 | QImage* fitsqimage; // a qimage, generated form raw FITS data
73 | char *scaledfitsdata; // in case of 16 bit data, this one holds the scaled 8 bit image
74 | QPixmap* displayPMap; // a qpixmap, generated for GUI display form the qimage
75 | bool newCameraImageAvailable; // name says it all
76 | QVector *myVec; // a vector for grayscale conversion
77 | QString *serverMessage; // a string for holding data non-image data from the INDI server
78 | INumberVectorProperty *ccd_exposure = NULL; // an INDI data structure on exposure time
79 | INumberVectorProperty *ccd_gain = NULL; // an INDI data structure on camera gain
80 | long expcounter; // a counter for exposures
81 | bool storeCamImages; // a boolean for handling storage of images to the SD card
82 | short simulatorCounter; // a helper for debugging
83 | bool isAProbeImage; // a flag that causes storage rather than further processing of image data
84 | bool isMainCCD;
85 | void saveBLOB(IBLOB*); // saves a BLOB to a FITS image
86 |
87 | signals:
88 | void imageAvailable(QPixmap*); // emitted when an image is available
89 | void messageFromINDIAvailable(void); // emitted when a message form INDI is available
90 | };
91 |
--------------------------------------------------------------------------------
/C++-Source/obsolete/bt_serialcomm.cpp:
--------------------------------------------------------------------------------
1 | // this code is part of "TSC", a free control software for astronomical telescopes
2 | // Copyright (C) 2016-18, wolfgang birkfellner
3 | // This program is free software: you can redistribute it and/or modify
4 | // it under the terms of the GNU General Public License as published by
5 | // the Free Software Foundation, either version 3 of the License, or
6 | // (at your option) any later version.
7 | // This program is distributed in the hope that it will be useful,
8 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | // GNU General Public License for more details.
11 | // You should have received a copy of the GNU General Public License
12 | // along with this program. If not, see .
13 |
14 | //---------------------------------------------------
15 | // this class handles serial bluetooth communications for the BT-handbox
16 |
17 | #include "bt_serialcomm.h"
18 | #include
19 |
20 | //---------------------------------------------------
21 | // constructor, starts up a standard serial port for the
22 | // MAC address of the handbox ...
23 |
24 | bt_serialcomm::bt_serialcomm(QString bt_MACaddr) {
25 | QString startupRFPort;
26 | this->portIsUp=false;
27 |
28 | startupRFPort.append("sudo rfcomm connect hci0 ");
29 | startupRFPort.append(bt_MACaddr);
30 | startupRFPort.append(" &");
31 | system(startupRFPort.toLatin1());
32 | rfcommport.setPortName("/dev/rfcomm0");
33 | rfcommport.setBaudRate(QSerialPort::Baud9600);
34 | rfcommport.setDataBits(QSerialPort::Data8);
35 | rfcommport.setParity(QSerialPort::NoParity);
36 | rfcommport.setStopBits(QSerialPort::OneStop);
37 | rfcommport.setFlowControl(QSerialPort::NoFlowControl);
38 | this->incomingCommand = new QString();
39 | }
40 |
41 | //---------------------------------------------------
42 | // tries to re-open a serial port
43 | void bt_serialcomm::bt_serialcommTryRestart(QString bt_MACaddr) {
44 | QString startupRFPort;
45 | this->portIsUp=false;
46 |
47 | startupRFPort.append("sudo rfcomm connect hci0 ");
48 | startupRFPort.append(bt_MACaddr);
49 | startupRFPort.append(" &");
50 | system(startupRFPort.toLatin1());
51 | rfcommport.setPortName("/dev/rfcomm0");
52 | rfcommport.setBaudRate(QSerialPort::Baud9600);
53 | rfcommport.setDataBits(QSerialPort::Data8);
54 | rfcommport.setParity(QSerialPort::NoParity);
55 | rfcommport.setStopBits(QSerialPort::OneStop);
56 | rfcommport.setFlowControl(QSerialPort::NoFlowControl);
57 | }
58 |
59 | //----------------------------------------------------
60 | // desctructor; closes the serial port
61 | bt_serialcomm::~bt_serialcomm(void) {
62 | if (portIsUp == 1) {
63 | rfcommport.setBreakEnabled(true);
64 | rfcommport.clear(QSerialPort::AllDirections);
65 | rfcommport.close();
66 | portIsUp = 0;
67 | }
68 | delete incomingCommand;
69 | }
70 |
71 | //---------------------------------------------------
72 | // closes the serial port
73 | void bt_serialcomm::shutDownPort(void) {
74 | rfcommport.setBreakEnabled(true);
75 | portIsUp = 0;
76 | rfcommport.clear(QSerialPort::AllDirections);
77 | rfcommport.close();
78 | }
79 |
80 | //---------------------------------------------------
81 | // opens a serial port for BT-communicaition
82 | void bt_serialcomm::openPort(void) {
83 | portIsUp = 1;
84 | if (!rfcommport.open(QIODevice::ReadWrite)) {
85 | portIsUp = 0;
86 | } else {
87 | rfcommport.setBreakEnabled(false);
88 | portIsUp = 1;
89 | rfcommport.clear(QSerialPort::AllDirections);
90 | }
91 | }
92 |
93 | //---------------------------------------------------
94 | // returns the state of the port
95 | bool bt_serialcomm::getPortState(void) {
96 | return this->portIsUp;
97 | }
98 |
99 | //---------------------------------------------------
100 | // reads max 1064 byte from the serial port and emits a signal that data are available
101 | qint64 bt_serialcomm::getDataFromSerialPort(void) {
102 | char buf[1024];
103 | qint64 lineLength=0;
104 |
105 | if (rfcommport.bytesAvailable() > 0) {
106 | if (rfcommport.canReadLine() == true) {
107 | lineLength = rfcommport.readLine(buf, sizeof(buf));
108 | if (lineLength != -1) {
109 | this->incomingCommand->clear();
110 | this->incomingCommand->append(buf);
111 | this->incomingCommand->chop(2);
112 | rfcommport.clear(QSerialPort::AllDirections);
113 | emit this->btDataReceived();
114 | }
115 | }
116 | }
117 | return lineLength;
118 | }
119 |
120 | //---------------------------------------------------
121 | // returns the received string
122 | QString* bt_serialcomm::getTSCcommand(void) {
123 | return this->incomingCommand;
124 | }
125 |
126 |
--------------------------------------------------------------------------------
/C++-Source/obsolete/bt_serialcomm.h:
--------------------------------------------------------------------------------
1 | #ifndef BT_SERIALCOMM_H
2 | #define BT_SERIALCOMM_H
3 |
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 |
10 | class bt_serialcomm :public QObject {
11 | Q_OBJECT
12 | public:
13 | bt_serialcomm(QString);
14 | void bt_serialcommTryRestart(QString);
15 | ~bt_serialcomm(void);
16 | void shutDownPort(void);
17 | void openPort(void);
18 | bool getPortState(void);
19 | qint64 getDataFromSerialPort(void);
20 | QString* getTSCcommand(void);
21 |
22 | private:
23 | QSerialPort rfcommport;
24 | QString *incomingCommand;
25 | bool portIsUp;
26 |
27 | signals:
28 | void btDataReceived();
29 | };
30 | #endif
31 | // BT_SERIALCOMM_H
32 |
--------------------------------------------------------------------------------
/C++-Source/obsolete/tsc_bt_serialcomm.cpp:
--------------------------------------------------------------------------------
1 | // this code is part of "TSC", a free control software for astronomical telescopes
2 | // Copyright (C) 2016-18, wolfgang birkfellner
3 | // This program is free software: you can redistribute it and/or modify
4 | // it under the terms of the GNU General Public License as published by
5 | // the Free Software Foundation, either version 3 of the License, or
6 | // (at your option) any later version.
7 | // This program is distributed in the hope that it will be useful,
8 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | // GNU General Public License for more details.
11 | // You should have received a copy of the GNU General Public License
12 | // along with this program. If not, see .
13 |
14 | //---------------------------------------------------
15 | #include "tsc_bt_serialcomm.h"
16 | #include
17 | #include
18 | #include
19 |
20 | //---------------------------------------------------
21 | tsc_bt_serialcomm::tsc_bt_serialcomm(QString bt_MACaddr) {
22 | QString startupRFPort;
23 | this->portIsUp=false;
24 |
25 | startupRFPort.append("sudo rfcomm connect hci0 ");
26 | startupRFPort.append(bt_MACaddr);
27 | startupRFPort.append(" &");
28 | system(startupRFPort.toLatin1());
29 | rfcommport.setPortName("/dev/rfcomm0");
30 | rfcommport.setBaudRate(QSerialPort::Baud9600);
31 | rfcommport.setDataBits(QSerialPort::Data8);
32 | rfcommport.setParity(QSerialPort::NoParity);
33 | rfcommport.setStopBits(QSerialPort::OneStop);
34 | rfcommport.setFlowControl(QSerialPort::NoFlowControl);
35 | this->incomingCommand = new QString();
36 | }
37 |
38 | //---------------------------------------------------
39 |
40 | void tsc_bt_serialcomm::bt_serialcommTryRestart(QString bt_MACaddr) {
41 | QString startupRFPort;
42 | this->portIsUp=false;
43 |
44 | startupRFPort.append("sudo rfcomm release hci0 ");
45 | startupRFPort.append(bt_MACaddr);
46 | startupRFPort.append(" &");
47 | system(startupRFPort.toLatin1());
48 | usleep(2000);
49 | startupRFPort.clear();
50 | startupRFPort.append("sudo rfcomm connect hci0 ");
51 | startupRFPort.append(bt_MACaddr);
52 | startupRFPort.append(" &");
53 | system(startupRFPort.toLatin1());
54 | rfcommport.setPortName("/dev/rfcomm0");
55 | rfcommport.setBaudRate(QSerialPort::Baud9600);
56 | rfcommport.setDataBits(QSerialPort::Data8);
57 | rfcommport.setParity(QSerialPort::NoParity);
58 | rfcommport.setStopBits(QSerialPort::OneStop);
59 | rfcommport.setFlowControl(QSerialPort::NoFlowControl);
60 | }
61 |
62 | //----------------------------------------------------
63 | tsc_bt_serialcomm::~tsc_bt_serialcomm(void) {
64 | if (portIsUp == 1) {
65 | rfcommport.setBreakEnabled(true);
66 | rfcommport.clear(QSerialPort::AllDirections);
67 | rfcommport.close();
68 | portIsUp = 0;
69 | }
70 | delete incomingCommand;
71 | }
72 |
73 | //---------------------------------------------------
74 | void tsc_bt_serialcomm::shutDownPort(void) {
75 | rfcommport.setBreakEnabled(true);
76 | rfcommport.clear(QSerialPort::AllDirections);
77 | rfcommport.close();
78 | portIsUp = 0;
79 | }
80 |
81 | //---------------------------------------------------
82 | void tsc_bt_serialcomm::openPort(void) {
83 | portIsUp = 1;
84 | if (!rfcommport.open(QIODevice::ReadWrite)) {
85 | portIsUp = 0;
86 | } else {
87 | rfcommport.setBreakEnabled(false);
88 | portIsUp = 1;
89 | rfcommport.clear(QSerialPort::AllDirections);
90 | }
91 | }
92 |
93 | //---------------------------------------------------
94 | bool tsc_bt_serialcomm::getPortState(void) {
95 | return this->portIsUp;
96 | }
97 |
98 | //---------------------------------------------------
99 | qint64 tsc_bt_serialcomm::getDataFromSerialPort(void) {
100 | char buf[1024];
101 | qint64 lineLength=0;
102 |
103 | if (rfcommport.bytesAvailable() > 0) {
104 | if (rfcommport.canReadLine() == true) {
105 | lineLength = rfcommport.readLine(buf, sizeof(buf));
106 | if (lineLength != -1) {
107 | this->incomingCommand->clear();
108 | this->incomingCommand->append(buf);
109 | this->incomingCommand->chop(2);
110 | rfcommport.clear(QSerialPort::AllDirections);
111 | emit this->btDataReceived();
112 | }
113 | }
114 | }
115 | return lineLength;
116 | }
117 |
118 | //---------------------------------------------------
119 | QString* tsc_bt_serialcomm::getTSCcommand(void) {
120 | return this->incomingCommand;
121 | }
122 |
123 |
--------------------------------------------------------------------------------
/C++-Source/obsolete/tsc_bt_serialcomm.h:
--------------------------------------------------------------------------------
1 | // this code is part of "TSC", a free control software for astronomical telescopes
2 | // Copyright (C) 2016-18, wolfgang birkfellner
3 | // This program is free software: you can redistribute it and/or modify
4 | // it under the terms of the GNU General Public License as published by
5 | // the Free Software Foundation, either version 3 of the License, or
6 | // (at your option) any later version.
7 | // This program is distributed in the hope that it will be useful,
8 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | // GNU General Public License for more details.
11 | // You should have received a copy of the GNU General Public License
12 | // along with this program. If not, see .
13 |
14 | //---------------------------------------------------
15 |
16 | #ifndef TSC_BT_SERIALCOMM_H
17 | #define TSC_BT_SERIALCOMM_H
18 |
19 | #include
20 | #include
21 | #include
22 | #include
23 | #include
24 |
25 | class tsc_bt_serialcomm :public QObject {
26 | Q_OBJECT
27 | public:
28 | tsc_bt_serialcomm(QString);
29 | void bt_serialcommTryRestart(QString);
30 | ~tsc_bt_serialcomm(void);
31 | void shutDownPort(void);
32 | void openPort(void);
33 | bool getPortState(void);
34 | qint64 getDataFromSerialPort(void);
35 | QString* getTSCcommand(void);
36 |
37 | private:
38 | QSerialPort rfcommport;
39 | QString *incomingCommand;
40 | bool portIsUp;
41 |
42 | signals:
43 | void btDataReceived();
44 | };
45 | #endif
46 | // TSC_BT_SERIALCOMM_H
47 |
--------------------------------------------------------------------------------
/C++-Source/ocv_guiding.h:
--------------------------------------------------------------------------------
1 | // this code is part of "TSC", a free control software for astronomical telescopes
2 | // Copyright (C) 2016-18, wolfgang birkfellner
3 | // This program is free software: you can redistribute it and/or modify
4 | // it under the terms of the GNU General Public License as published by
5 | // the Free Software Foundation, either version 3 of the License, or
6 | // (at your option) any later version.
7 | // This program is distributed in the hope that it will be useful,
8 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | // GNU General Public License for more details.
11 | // You should have received a copy of the GNU General Public License
12 | // along with this program. If not, see .
13 |
14 | //---------------------------------------------------
15 |
16 |
17 | #ifndef OCV_GUIDING_H
18 | #define OCV_GUIDING_H
19 |
20 | #include
21 | #include
22 | #include
23 | //#include
24 | #include
25 | #include
26 |
27 | using namespace cv;
28 |
29 | class ocv_guiding:public QObject {
30 | Q_OBJECT
31 | public:
32 | ocv_guiding(void);
33 | ~ocv_guiding();
34 | QPoint* getGuideStarCentroid(void);
35 | void doGuideStarImgProcessing(int,bool, bool, float,int,float,bool, bool);
36 | bool isPixelAtSaturation(void);
37 | QPixmap* getGuideStarPreview(void);
38 | double getArcSecsPerPix(short);
39 | void setFocalLengthOfGuidescope(int);
40 |
41 | private:
42 | cv::Mat currentImageOCVMat;
43 | QImage* currentImageQImg;
44 | QImage* processedImage;
45 | QPixmap* prevPMap;
46 | QPoint* centroidOfGuideStar;
47 | QVector *myVec;
48 | void convertQImgToMat(void);
49 | void convertMatToQImg(void);
50 | void storeMatToFile(void);
51 | int maxX;
52 | int maxY;
53 | double gScopeFL;
54 | double arcsecPerPixX;
55 | double arcsecPerPixY;
56 | int maxGrayVal;
57 |
58 | signals:
59 | void guideImagePreviewAvailable(void);
60 | void determinedGuideStarCentroid(void);
61 | };
62 |
63 | #endif // OCV_GUIDING_H
64 |
--------------------------------------------------------------------------------
/C++-Source/qclientindi.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include
12 | #include "libindi/config.h"
13 | #include "indibase/baseclient.h"
14 | #include "indibase/basedevice.h"
15 | #include "indibase/indiproperty.h"
16 |
17 | /* INDI Common Library Routines */
18 | #include "indicom.h"
19 | #include "qclientindi.h"
20 |
21 | using namespace std;
22 | #define MYCCD "Simple CCD"
23 |
24 | //--------------------------------------------------------
25 | qclientindi::qclientindi() {
26 | ccd_simulator = NULL;
27 | }
28 |
29 | //--------------------------------------------------------
30 | qclientindi::~qclientindi() {
31 |
32 | }
33 |
34 | //--------------------------------------------------------
35 | void qclientindi::setTemperature() {
36 |
37 | INumberVectorProperty *ccd_temperature = NULL;
38 | ccd_temperature = ccd_simulator->getNumber("CCD_TEMPERATURE");
39 | if (ccd_temperature == NULL) {
40 | IDLog("Error: unable to find CCD Simulator CCD_TEMPERATURE property...\n");
41 | return;
42 | }
43 | ccd_temperature->np[0].value = -20;
44 | sendNewNumber(ccd_temperature);
45 | }
46 |
47 | //--------------------------------------------------------
48 | void qclientindi::takeExposure() {
49 |
50 | INumberVectorProperty *ccd_exposure = NULL;
51 | ccd_exposure = ccd_simulator->getNumber("CCD_EXPOSURE");
52 | if (ccd_exposure == NULL) {
53 | IDLog("Error: unable to find CCD Simulator CCD_EXPOSURE property...\n");
54 | return;
55 | }
56 |
57 | // Take a 1 second exposure
58 | IDLog("Taking a 1 second exposure.\n");
59 | ccd_exposure->np[0].value = 1;
60 | sendNewNumber(ccd_exposure);
61 | }
62 |
63 | //--------------------------------------------------------
64 | void qclientindi::newDevice(INDI::BaseDevice *dp) {
65 |
66 | if (!strcmp(dp->getDeviceName(), MYCCD))
67 | IDLog("Receiving %s Device...\n", dp->getDeviceName());
68 |
69 | ccd_simulator = dp;
70 | }
71 |
72 | //--------------------------------------------------------
73 | void qclientindi::newProperty(INDI::Property *property) {
74 |
75 | if (!strcmp(property->getDeviceName(), MYCCD) && !strcmp(property->getName(), "CONNECTION")) {
76 | connectDevice(MYCCD);
77 | return;
78 | }
79 |
80 | if (!strcmp(property->getDeviceName(), MYCCD) && !strcmp(property->getName(), "CCD_TEMPERATURE")) {
81 | if (ccd_simulator->isConnected()) {
82 | IDLog("CCD is connected. Setting temperature to -20 C.\n");
83 | setTemperature();
84 | }
85 | return;
86 | }
87 | }
88 |
89 | //--------------------------------------------------------
90 | void qclientindi::newNumber(INumberVectorProperty *nvp) {
91 | // Let's check if we get any new values for CCD_TEMPERATURE
92 | if (!strcmp(nvp->name, "CCD_TEMPERATURE"))
93 | {
94 | IDLog("Receving new CCD Temperature: %g C\n", nvp->np[0].value);
95 |
96 | if (nvp->np[0].value == -20) {
97 | IDLog("CCD temperature reached desired value!\n");
98 | takeExposure();
99 | }
100 | }
101 | }
102 |
103 | //--------------------------------------------------------
104 | void qclientindi::newMessage(INDI::BaseDevice *dp, int messageID) {
105 |
106 | if (strcmp(dp->getDeviceName(), MYCCD))
107 | return;
108 |
109 | IDLog("Recveing message from Server:\n\n########################\n%s\n########################\n\n", dp->messageQueue(messageID).c_str());
110 | }
111 |
112 | //--------------------------------------------------------
113 | void qclientindi::newBLOB(IBLOB *bp) {
114 | // Save FITS file to disk
115 | ofstream myfile;
116 | myfile.open ("ccd_simulator.fits", ios::out | ios::binary);
117 |
118 | myfile.write(static_cast (bp->blob), bp->bloblen);
119 |
120 | myfile.close();
121 |
122 | IDLog("Received image, saved as ccd_simulator.fits\n");
123 | }
124 |
125 | //--------------------------------------------------------
126 |
127 |
128 |
--------------------------------------------------------------------------------
/C++-Source/qclientindi.h:
--------------------------------------------------------------------------------
1 | #ifndef QCLIENTINDI_H
2 | #define QCLIENTINDI_H
3 |
4 | /* THIS HEADER IS DERIVED FROM
5 | Tutorial Client
6 | Copyright (C) 2010 Jasem Mutlaq (mutlaqja@ikarustech.com)
7 |
8 | This library is free software; you can redistribute it and/or
9 | modify it under the terms of the GNU Lesser General Public
10 | License as published by the Free Software Foundation; either
11 | version 2.1 of the License, or (at your option) any later version.
12 |
13 | This library is distributed in the hope that it will be useful,
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | Lesser General Public License for more details.
17 |
18 | You should have received a copy of the GNU Lesser General Public
19 | License along with this library; if not, write to the Free Software
20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 |
22 | */
23 |
24 | /** THIS HEADER IS DERIVED FROM
25 | \file tutorial_client.h
26 | \brief Construct a basic INDI client that demonstrates INDI::Client capabilities. This client must be used with tutorial_three device "Simple CCD".
27 | \author Jasem Mutlaq
28 |
29 | \example tutorial_client.h
30 | Construct a basic INDI client that demonstrates INDI::Client capabilities. This client must be used with tutorial_three device "Simple CCD".
31 | To run the example, you must first run tutorial_three:
32 | \code indiserver tutorial_three \endcode
33 | Then in another terminal, run the client:
34 | \code tutorial_client \endcode
35 | The client will connect to the CCD driver and attempts to change the CCD temperature.
36 | */
37 |
38 | #include "indidevapi.h"
39 | #include "indicom.h"
40 | #include "indibase/baseclient.h"
41 |
42 | class qclientindi : public INDI::BaseClient {
43 | public:
44 |
45 | qclientindi();
46 | ~qclientindi();
47 |
48 | void setTemperature();
49 | void takeExposure();
50 |
51 | protected:
52 |
53 | virtual void newDevice(INDI::BaseDevice *dp);
54 | virtual void removeDevice(INDI::BaseDevice *dp) {}
55 | virtual void newProperty(INDI::Property *property);
56 | virtual void removeProperty(INDI::Property *property) {}
57 | virtual void newBLOB(IBLOB *bp);
58 | virtual void newSwitch(ISwitchVectorProperty *svp) {}
59 | virtual void newNumber(INumberVectorProperty *nvp);
60 | virtual void newMessage(INDI::BaseDevice *dp, int messageID);
61 | virtual void newText(ITextVectorProperty *tvp) {}
62 | virtual void newLight(ILightVectorProperty *lvp) {}
63 | virtual void serverConnected() {}
64 | virtual void serverDisconnected(int exit_code) {}
65 |
66 | private:
67 | INDI::BaseDevice * ccd_simulator;
68 |
69 | };
70 |
71 | #endif
72 |
--------------------------------------------------------------------------------
/C++-Source/qdarkstyle.tar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/C++-Source/qdarkstyle.tar
--------------------------------------------------------------------------------
/C++-Source/qdarkstyle.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/C++-Source/qdarkstyle.zip
--------------------------------------------------------------------------------
/C++-Source/qdarkstyle/rc.tar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/C++-Source/qdarkstyle/rc.tar
--------------------------------------------------------------------------------
/C++-Source/spi_drive.cpp:
--------------------------------------------------------------------------------
1 | // this code is part of "TSC", a free control software for astronomical telescopes
2 | // Copyright (C) 2016-18, wolfgang birkfellner
3 | // This program is free software: you can redistribute it and/or modify
4 | // it under the terms of the GNU General Public License as published by
5 | // the Free Software Foundation, either version 3 of the License, or
6 | // (at your option) any later version.
7 | // This program is distributed in the hope that it will be useful,
8 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | // GNU General Public License for more details.
11 | // You should have received a copy of the GNU General Public License
12 | // along with this program. If not, see .
13 |
14 | //---------------------------------------------------
15 | #include "spi_drive.h"
16 | #include
17 | #include
18 |
19 | //--------------------------------------------------------------
20 |
21 | SPI_Drive::SPI_Drive(short channel) {
22 | int fd = 0;
23 |
24 | this->SPIChannel = channel;
25 | fd = wiringPiSPISetup(this->SPIChannel, 500000);
26 | this->fileDesc = fd;
27 | this->parameter = new QString();
28 | }
29 |
30 | //--------------------------------------------------------------
31 |
32 | bool SPI_Drive::spidrReceiveCommand(QString cmd) {
33 | int len;
34 | char bytecmd[32];
35 |
36 | this->parameter->clear();
37 | this->parameter->append(cmd);
38 | strncpy(bytecmd, (const char*)(this->parameter->toLatin1()),30);
39 | len = strlen(bytecmd);
40 | bytecmd[len] = 0x00;
41 | len++;
42 | wiringPiSPIDataRW(this->SPIChannel, (unsigned char*)(bytecmd), len);
43 | // qDebug() << "SPI-Command: " << cmd.toLatin1() << "-" << "Reply: " <muprocReply << " on Channel: " << this->SPIChannel;
44 | if (cmd.at(0) == bytecmd[1]) {
45 | return false;
46 | } else {
47 | this->muprocReply=bytecmd[1];
48 | return true;
49 | }
50 | }
51 |
52 | //--------------------------------------------------------------
53 |
54 | int SPI_Drive::spidrGetFD(void) {
55 | return this->fileDesc;
56 | }
57 |
58 | //--------------------------------------------------------------
59 |
60 | char SPI_Drive::getResponse(void) {
61 |
62 | return this->muprocReply;
63 | }
64 |
--------------------------------------------------------------------------------
/C++-Source/spi_drive.h:
--------------------------------------------------------------------------------
1 | // this code is part of "TSC", a free control software for astronomical telescopes
2 | // Copyright (C) 2016-18, wolfgang birkfellner
3 | // This program is free software: you can redistribute it and/or modify
4 | // it under the terms of the GNU General Public License as published by
5 | // the Free Software Foundation, either version 3 of the License, or
6 | // (at your option) any later version.
7 | // This program is distributed in the hope that it will be useful,
8 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | // GNU General Public License for more details.
11 | // You should have received a copy of the GNU General Public License
12 | // along with this program. If not, see .
13 |
14 | //---------------------------------------------------
15 |
16 | #ifndef SPI_DRIVE_H
17 | #define SPI_DRIVE_H
18 | #include
19 | #include
20 |
21 | class SPI_Drive {
22 | public:
23 | SPI_Drive(short);
24 | int spidrGetFD(void);
25 | bool spidrReceiveCommand(QString);
26 | char getResponse(void);
27 |
28 | private:
29 | int SPIChannel; //0 or 1, there is 2 channels on the Pi
30 | char muprocReply; // the microcontroller answers with A, D or R in dependence of the stepper driver used.
31 | // A is for the A4988, D is for DRV8825 and R is for the RAPS128
32 | QString *parameter;
33 | int fileDesc; // filedescriptor for opening a channel. -1 if failed ...
34 | };
35 |
36 | #endif // SPI_DRIVE_H
37 |
--------------------------------------------------------------------------------
/C++-Source/usb_communications.h:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | class usbCommunications {
5 | public:
6 | enum usbState {init, avail, devListAvail, open, kernelDrvr, claimed, writeErr, released, readErr};
7 | usbCommunications(int);
8 | void closeUSBConnection(void);
9 | bool getUSBErrs(usbState);
10 | bool sendCommand(QString,bool);
11 | bool receiveReply(bool);
12 | QString getReply(bool);
13 | void deleteResponse(bool);
14 |
15 | private:
16 | libusb_device **deviceList; //pointer to pointer of device, used to retrieve a list of devices
17 | libusb_device_handle *deviceHandles[2]; // a device handle
18 | libusb_context *usbContext = NULL; //a libusb session
19 | ssize_t devCnt; //holding number of devices in list
20 | unsigned char *commandData[2]; // an array holding the command to be sent to the USB device
21 | int theVID;
22 | short indexForRA;
23 | short indexForDecl;
24 | bool initErr = false;
25 | bool usbConnAvailable = true;
26 | bool gotDeviceList = false;
27 | bool usbDeviceIsOpen = false;
28 | bool kernelDriverActive = false;
29 | bool interfaceClaimed = false;
30 | bool writeError = false;
31 | bool interfaceReleased = false;
32 | bool readError = false;
33 | QString* dataReceived[2];
34 | QString* startupResponse;
35 | };
36 |
--------------------------------------------------------------------------------
/Catalogs/Abell.tsc:
--------------------------------------------------------------------------------
1 | 83,,,,,,,,
2 | 2000,,,,,,,,
3 | Cep,Abell 1,0,12,55,+,69,10,21
4 | Cas,Abell 2,0,45,36,+,57,57,45
5 | Cas,Abell 3,2,12,6,+,64,9,1
6 | Per,Abell 4,2,45,23,+,42,33,5
7 | Per,Abell 5,2,52,15,+,50,35,54
8 | Cas,Abell 6,2,58,41,+,64,30,6
9 | Lep,Abell 7,5,3,8,-,15,36,13
10 | Aur,Abell 8,5,6,38,+,39,8,11
11 | Aur,Abell 9,5,28,56,+,36,3,5
12 | Ori,Abell 10 ,5,31,45,+,6,56,9
13 | Ori,Abell 12,6,2,20,+,9,39,14
14 | Ori,Abell 13,6,4,47,+,3,56,36
15 | Ori,Abell 14,6,11,8,+,11,46,43
16 | CMa,Abell 15,6,27,2,-,25,22,50
17 | Lyn,Abell 16,6,43,55,+,61,47,25
18 | Mon,Abell 18,6,56,14,-,2,53,9
19 | Gem,Abell 19,6,59,56,+,14,36,34
20 | CMi,Abell 20,7,22,57,+,1,45,37
21 | Gem,Abell 21,7,29,2,+,13,15,13
22 | CMi,Abell 22,7,36,7,+,2,42,28
23 | Pup,Abell 23,7,43,18,-,34,45,12
24 | CMi,Abell 24,7,51,37,+,3,0,21
25 | Mon,Abell 25 ,8,6,46,-,2,52,35
26 | Pup,Abell 26,8,9,1,-,32,40,22
27 | Pyx,Abell 27,8,31,52,-,32,6,9
28 | UMa,Abell 28,8,41,35,+,58,13,48
29 | Pyx,Abell 29,8,40,18,-,20,54,36
30 | Cnc,Abell 30,8,46,54,+,17,52,33
31 | Cnc,Abell 31,8,54,13,+,8,53,59
32 | Hya,Abell 33,9,39,9,-,2,48,33
33 | Hya,Abell 34,9,45,35,-,13,10,16
34 | Hya,Abell 35,12,53,32,-,22,52,22
35 | Vir,Abell 36,13,40,41,-,19,52,57
36 | Vir,Abell 37,14,4,26,-,17,13,41
37 | Sco,Abell 38,16,23,18,-,31,44,58
38 | Her,Abell 39,16,27,33,+,27,54,34
39 | Oph,Abell 40,16,48,34,-,21,0,51
40 | Ser,Abell 41,17,29,2,-,15,12,59
41 | Oph,Abell 42,17,31,29,-,8,19,10
42 | Oph,Abell 43,17,53,32,+,10,37,24
43 | Sgr,Abell 44,18,30,11,-,16,45,28
44 | Sct,Abell 45,18,30,15,-,11,36,56
45 | Lyr,Abell 46,18,31,18,+,26,56,17
46 | Ser,Abell 47,18,35,22,-,0,13,50
47 | Aql,Abell 48,18,42,46,-,3,13,25
48 | Sct,Abell 49,18,53,28,-,6,28,33
49 | Dra,Abell 50,18,59,19,+,48,27,57
50 | Sgr,Abell 51,19,1,1,-,18,12,15
51 | Aql,Abell 52,19,4,32,+,17,57,7
52 | Aql,Abell 53,19,6,45,+,6,23,56
53 | Vul,Abell 54,19,8,39,+,22,58,58
54 | Aql,Abell 55,19,10,30,-,2,21,2
55 | Aql,Abell 56,19,13,6,+,2,52,48
56 | Vul,Abell 57,19,17,6,+,25,37,30
57 | Aql,Abell 58,19,18,20,+,1,47,0
58 | Sge,Abell 59,19,18,40,+,19,34,33
59 | Cyg,Abell 61,19,19,10,+,46,14,36
60 | Sgr,Abell 60,19,19,18,-,12,14,54
61 | Aql,Abell 62,19,33,18,+,10,37,1
62 | Sgr,Abell 63,19,42,10,+,17,5,15
63 | Aql,Abell 64,19,45,34,+,5,33,52
64 | Sgr,Abell 65,19,46,33,-,23,8,12
65 | Sgr,Abell 66,19,57,31,-,21,36,46
66 | Aql,Abell 67,19,58,27,+,3,2,52
67 | Vul,Abell 68,20,0,10,+,21,42,58
68 | Cyg,Abell 69,20,19,58,+,38,24,2
69 | Aql,Abell 70,20,31,33,-,7,5,17
70 | Cyg,Abell 71,20,32,23,+,47,21,4
71 | Del,Abell 72,20,50,2,+,13,33,28
72 | Cep,Abell 73,20,56,27,+,57,26,3
73 | Vul,Abell 74,21,16,52,+,24,8,51
74 | Cep,Abell 75,21,26,23,+,62,53,33
75 | Aqr,Abell 76,21,30,3,-,2,48,32
76 | Cep,Abell 77,21,32,10,+,55,52,43
77 | Cyg,Abell 78,21,35,29,+,31,41,45
78 | Lac,Abell 79,22,26,17,+,54,49,38
79 | Lac,Abell 80,22,34,45,+,52,26,6
80 | Cep,Abell 81,22,42,25,+,80,26,32
81 | Cas,Abell 82,23,45,47,+,57,3,59
82 | Cas,Abell 83,23,46,46,+,54,44,38
83 | Cas,Abell 84,23,47,44,+,51,23,56
84 | Cas,Abell 85,23,58,53,+,62,30,28
85 | Cep,Abell 86,0,1,31,+,70,42,29
86 |
--------------------------------------------------------------------------------
/Catalogs/Caldwell.tsc:
--------------------------------------------------------------------------------
1 | 109,,,,,,,,
2 | 2000,,,,,,,,
3 | Cep,Caldwell 1-NGC 188,0,44,24,+,85,20,0
4 | Cep,Caldwell 2-NGC 40,0,13,0,+,72,32,0
5 | Dra,Caldwell 3-NGC 4236,12,16,42,+,69,28,0
6 | Cep,Caldwell 4-NGC 7023,21,1,48,+,68,12,0
7 | Cam,Caldwell 5-IC 342,3,46,48,+,68,6,0
8 | Dra,Caldwell 6-NGC 6543,17,58,36,+,66,38,0
9 | Cam,Caldwell 7-NGC 2403,7,36,54,+,65,36,0
10 | Cas,Caldwell 8-NGC 559,1,29,30,+,63,18,0
11 | Cep,Caldwell 9-Sh2-155,22,56,48,+,62,37,0
12 | Cas,Caldwell 10-NGC 663,1,46,0,+,61,15,0
13 | Cas,Caldwell 11-NGC 7635,23,20,42,+,61,12,0
14 | Cep,Caldwell 12-NGC 6946,20,34,48,+,60,9,0
15 | Cas,Caldwell 13-NGC 457,1,19,6,+,58,20,0
16 | Per,Caldwell 14-NGC 869/884,2,20,0,+,57,8,0
17 | Cyg,Caldwell 15-NGC 6826,19,44,48,+,50,31,0
18 | Lac,Caldwell 16-NGC 7243,22,15,18,+,49,53,0
19 | Cas,Caldwell 17-NGC 147,0,33,12,+,48,30,0
20 | Cas,Caldwell 18-NGC 185,0,39,0,+,48,20,0
21 | Cyg,Caldwell 19-IC 5146,21,53,30,+,47,16,0
22 | Cyg,Caldwell 20-NGC 7000,20,58,48,+,44,20,0
23 | CVn,Caldwell 21-NGC 4449,12,28,12,+,44,6,0
24 | And,Caldwell 22-NGC 7662,23,25,54,+,42,33,0
25 | And,Caldwell 23-NGC 891,2,22,36,+,42,21,0
26 | Per,Caldwell 24-NGC 1275,3,19,48,+,41,31,0
27 | Lyn,Caldwell 25-NGC 2419,7,38,6,+,38,53,0
28 | CVn,Caldwell 26-NGC 4244,12,17,30,+,37,49,0
29 | Cyg,Caldwell 27-NGC 6888,20,12,0,+,38,21,0
30 | And,Caldwell 28-NGC 752,1,57,48,+,37,41,0
31 | CVn,Caldwell 29-NGC 5005,13,10,54,+,37,3,0
32 | Peg,Caldwell 30-NGC 7331,22,37,6,+,34,25,0
33 | Aur,Caldwell 31-IC 405,5,16,12,+,34,16,0
34 | CVn,Caldwell 32-NGC 4631,12,42,6,+,32,32,0
35 | Cyg,Caldwell 33-NGC 6992/5,20,56,24,+,31,43,0
36 | Cyg,Caldwell 34-NGC 6960,20,45,42,+,30,43,0
37 | Com,Caldwell 35-NGC 4889,13,0,6,+,27,59,0
38 | Com,Caldwell 36-NGC 4559,12,36,0,+,27,58,0
39 | Vul,Caldwell 37-NGC 6885,20,12,0,+,26,29,0
40 | Com,Caldwell 38-NGC 4565,12,36,18,+,25,59,0
41 | Gem,Caldwell 39-NGC 2392,7,29,12,+,20,55,0
42 | Leo,Caldwell 40-NGC 3626,11,20,6,+,18,21,0
43 | Tau,Caldwell 41-none,4,27,0,+,16,0,0
44 | Del,Caldwell 42-NGC 7006,21,1,30,+,16,11,0
45 | Peg,Caldwell 43-NGC 7814,0,3,18,+,16,9,0
46 | Peg,Caldwell 44-NGC 7479,23,4,54,+,12,19,0
47 | Boo,Caldwell 45-NGC 5248,13,37,30,+,8,53,0
48 | Mon,Caldwell 46-NGC 2261,6,39,12,+,8,44,0
49 | Del,Caldwell 47-NGC 6934,20,34,12,+,7,24,0
50 | Can,Caldwell 48-NGC 2775,9,10,18,+,7,2,0
51 | Mon,Caldwell 49-NGC 2237-9,6,32,18,+,5,3,0
52 | Mon,Caldwell 50-NGC 2244,6,32,24,+,4,52,0
53 | Cet,Caldwell 51-IC 1613,1,4,48,+,2,7,0
54 | Vir,Caldwell 52-NGC 4697,12,48,36,-,5,48,0
55 | Sex,Caldwell 53-NGC 3115,10,5,12,-,7,43,0
56 | Mon,Caldwell 54-NGC 2506,8,0,12,-,10,47,0
57 | Aqr,Caldwell 55-NGC 7009,21,4,12,-,11,22,0
58 | Cet,Caldwell 56-NGC 246,0,47,0,-,11,53,0
59 | Sgr,Caldwell 57-NGC 6822,19,44,54,-,14,48,0
60 | CMa,Caldwell 58-NGC 2360,7,17,48,-,15,37,0
61 | Hya,Caldwell 59-NGC 3242,10,24,48,-,18,38,0
62 | Crv,Caldwell 60-NGC 4038,12,1,54,-,18,52,0
63 | Crv,Caldwell 61-NGC 4039,12,1,54,-,18,53,0
64 | Cet,Caldwell 62-NGC 247,0,47,6,-,20,46,0
65 | Aqr,Caldwell 63-NGC 7293,22,29,36,-,20,48,0
66 | CMa,Caldwell 64-NGC 2362,7,18,48,-,24,57,0
67 | Scl,Caldwell 65-NGC 253,0,47,36,-,25,17,0
68 | Hya,Caldwell 66-NGC 5694,14,39,36,-,26,32,0
69 | For,Caldwell 67-NGC 1097,2,46,18,-,30,17,0
70 | CrA,Caldwell 68-NGC 6729,19,1,54,-,36,57,0
71 | Sco,Caldwell 69-NGC 6302,17,13,42,-,37,6,0
72 | Scl,Caldwell 70-NGC 300,0,54,54,-,37,41,0
73 | Pup,Caldwell 71-NGC 2477,7,52,18,-,38,33,0
74 | Scl,Caldwell 72-NGC 55,0,14,54,-,39,11,0
75 | Col,Caldwell 73-NGC 1851,5,14,6,-,40,3,0
76 | Vel,Caldwell 74-NGC 3132,10,7,42,-,40,26,0
77 | Sco,Caldwell 75-NGC 6124,16,25,36,-,40,40,0
78 | Sco,Caldwell 76-NGC 6231,16,54,0,-,41,48,0
79 | Cen,Caldwell 77-NGC 5128,13,25,30,-,43,1,0
80 | CrA,Caldwell 78-NGC 6541,18,8,0,-,43,42,0
81 | Vel,Caldwell 79-NGC 3201,10,17,36,-,46,25,0
82 | Cen,Caldwell 80-NGC 5139,13,26,48,-,47,29,0
83 | Ara,Caldwell 81-NGC 6352,17,25,30,-,48,25,0
84 | Ara,Caldwell 82-NGC 6193,16,41,18,-,48,46,0
85 | Cen,Caldwell 83-NGC 4945,13,5,24,-,49,28,0
86 | Cen,Caldwell 84-NGC 5286,13,46,24,-,51,22,0
87 | Vel,Caldwell 85-IC 2391,8,40,12,-,53,4,0
88 | Ara,Caldwell 86-NGC 6397,17,40,42,-,53,40,0
89 | Hor,Caldwell 87-NGC 1261,3,12,18,-,55,13,0
90 | Cir,Caldwell 88-NGC 5823,15,5,42,-,55,36,0
91 | Nor,Caldwell 89-NGC 6087,16,18,54,-,57,54,0
92 | Car,Caldwell 90-NGC 2867,9,21,24,-,58,19,0
93 | Car,Caldwell 91-NGC 3532,11,6,24,-,58,40,0
94 | Car,Caldwell 92-NGC 3372,10,43,48,-,59,52,0
95 | Pav,Caldwell 93-NGC 6752,19,10,54,-,59,59,0
96 | Cru,Caldwell 94-NGC 4755,12,53,36,-,60,20,0
97 | TrA,Caldwell 95-NGC 6025,16,3,42,-,60,30,0
98 | Car,Caldwell 96-NGC 2516,7,58,18,-,60,52,0
99 | Cen,Caldwell 97-NGC 3766,11,36,6,-,61,37,0
100 | Cru,Caldwell 98-NGC 4609,12,42,18,-,62,58,0
101 | Cru,Caldwell 99,12,53,0,-,63,0,0
102 | Cen,Caldwell 100-IC 2944,11,36,36,-,63,2,0
103 | Pav,Caldwell 101-NGC 6744,19,9,48,-,63,51,0
104 | Car,Caldwell 102-IC 2602,10,43,12,-,64,24,0
105 | Dor,Caldwell 103-NGC 2070,5,38,42,-,69,6,0
106 | Tuc,Caldwell 104-NGC 362,1,3,12,-,70,51,0
107 | Mus,Caldwell 105-NGC 4833,12,59,36,-,70,53,0
108 | Tuc,Caldwell 106-NGC 104,0,24,6,-,72,5,0
109 | Aps,Caldwell 107-NGC 6101,16,25,48,-,72,12,0
110 | Mus,Caldwell 108-NGC 4372,12,25,48,-,72,40,0
111 | Cha,Caldwell 109-NGC 3195,10,9,30,-,80,52,0
112 |
--------------------------------------------------------------------------------
/Catalogs/Messier.tsc:
--------------------------------------------------------------------------------
1 | 110,,,,,,,,
2 | 2000,,,,,,,,
3 | Taurus,Messier 1,5,34,32,+,22,0,52
4 | Aquarius,Messier 2,21,33,27,-,0,49,22
5 | Canes Venatici,Messier 3,13,42,11,+,28,22,34
6 | Scorpio,Messier 4,16,23,36,-,26,31,29
7 | Serpens Caput,Messier 5,15,18,34,+,2,5,0
8 | Scorpio,Messier 6,17,40,20,-,32,15,30
9 | Scorpio,Messier 7,17,53,50,-,34,47,36
10 | Sagittarius,Messier 8,18,3,42,-,24,22,48
11 | Ophiucus,Messier 9,17,19,12,-,18,30,57
12 | Ophiucus,Messier 10,16,57,9,-,4,5,56
13 | Scutum,Messier 11,18,51,5,-,6,16,12
14 | Ophiucus,Messier 12,16,47,15,-,1,56,50
15 | Hercules,Messier 13,16,41,42,+,36,27,39
16 | Ophiucus,Messier 14,17,37,36,-,3,14,43
17 | Pegasus,Messier 15,21,29,58,+,12,10,3
18 | Serpens Caput,Messier 16,18,18,45,-,13,47,54
19 | Sagittarius,Messier 17,18,20,47,-,16,10,18
20 | Sagittarius,Messier 18,18,19,58,-,17,6,6
21 | Ophiucus,Messier 19,17,2,38,-,26,16,3
22 | Sagittarius,Messier 20,18,3,26,-,22,59,27
23 | Sagittarius,Messier 21,18,4,13,-,22,30,0
24 | Sagittarius,Messier 22,18,36,24,-,23,54,10
25 | Sagittarius,Messier 23,17,56,56,-,19,0,42
26 | Sagittarius,Messier 24,18,18,48,-,18,33,0
27 | Sagittarius,Messier 25,18,31,45,-,19,7,12
28 | Scutum,Messier 26,18,45,15,-,9,23,6
29 | Vuplecula,Messier 27,19,59,36,+,22,43,18
30 | Sagittarius,Messier 28,18,24,33,-,24,52,10
31 | Cygnus,Messier 29,20,24,6,+,38,29,36
32 | Capricornus,Messier 30,21,40,22,-,23,10,43
33 | Andromeda,Messier 31,0,42,44,+,41,16,8
34 | Andromeda,Messier 32,0,42,42,+,40,51,57
35 | Triangulum,Messier 33,1,33,52,+,30,39,29
36 | Perseus,Messier 34,2,42,5,+,42,45,42
37 | Gemini,Messier 35,6,9,0,+,24,21,0
38 | Auriga,Messier 36,5,36,18,+,34,8,27
39 | Auriga,Messier 37,5,52,18,+,32,33,11
40 | Auriga,Messier 38,5,28,43,+,35,51,18
41 | Cygnus,Messier 39,21,31,52,+,48,25,30
42 | Ursa Major,Messier 40,12,22,13,+,58,4,59
43 | Canis Major,Messier 41,6,46,0,-,20,45,24
44 | Orion,Messier 42,5,35,17,-,5,23,25
45 | Orion,Messier 43,5,35,31,-,5,16,3
46 | Cancer,Messier 44,8,40,24,+,19,40,12
47 | Puppis,Messier 46,7,41,47,-,14,48,36
48 | Puppis,Messier 47,7,36,35,-,14,28,47
49 | Hyaden,Messier 48,8,13,43,-,5,45,2
50 | Virgo,Messier 49,12,29,47,+,8,0,0
51 | Monocerus,Messier 50,7,2,48,-,8,22,33
52 | Canes Venatici,Messier 51,13,29,53,+,47,11,44
53 | Cassiopeia,Messier 52,23,24,48,+,61,36,0
54 | Coma Berenices,Messier 53,13,12,55,+,18,10,11
55 | Sagittarius,Messier 54,18,55,3,-,30,28,40
56 | Sagittarius,Messier 55,19,39,59,-,30,57,42
57 | Lyra,Messier 56,19,16,36,+,30,11,7
58 | Lyra,Messier 57,18,53,35,+,33,1,47
59 | Virgo,Messier 58,12,37,44,+,11,49,6
60 | Virgo,Messier 59,12,42,2,+,11,38,50
61 | Virgo,Messier 60,12,43,40,+,11,33,11
62 | Virgo,Messier 61,12,21,55,+,4,28,22
63 | Ophiucus,Messier 62,17,1,13,-,30,6,42
64 | Canes Venatici,Messier 63,13,15,49,+,42,1,59
65 | Coma Berenices,Messier 64,12,56,44,+,21,40,59
66 | Leo,Messier 65,11,18,56,+,13,5,27
67 | Leo,Messier 66,11,20,15,+,12,59,24
68 | Cancer,Messier 67,8,51,18,+,11,49,0
69 | Hyaden,Messier 68,12,39,28,-,26,44,32
70 | Sagittarius,Messier 69,18,31,23,-,32,20,51
71 | Sagittarius,Messier 70,18,43,13,-,32,17,29
72 | Sagitta,Messier 71,19,53,46,+,18,46,44
73 | Aquarius,Messier 72,20,53,28,-,12,32,11
74 | Aquarius,Messier 73,20,58,56,-,12,38,0
75 | Pisces,Messier 74,1,36,42,+,15,47,0
76 | Sagittarius,Messier 75,20,6,5,-,21,55,15
77 | Perseus,Messier 76,1,42,18,+,51,34,17
78 | Perseus,Messier 76,1,42,22,+,51,34,50
79 | Cetus,Messier 77,2,42,41,-,0,0,46
80 | Orion,Messier 78,5,46,45,+,0,4,48
81 | Lepus,Messier 79,5,24,11,-,24,31,25
82 | Scorpio,Messier 80,16,17,3,-,22,58,28
83 | Ursa Major,Messier 81,9,55,34,+,69,4,2
84 | Ursa Major,Messier 82,9,55,54,+,69,40,59
85 | Hyaden,Messier 83,13,37,0,-,29,52,2
86 | Virgo,Messier 84,12,25,4,+,12,53,13
87 | Coma Berenices,Messier 85,12,25,24,+,18,11,27
88 | Virgo,Messier 86,12,26,12,+,12,56,47
89 | Virgo,Messier 87,12,30,49,+,12,23,26
90 | Coma Berenices,Messier 88,12,31,59,+,14,25,11
91 | Virgo,Messier 89,12,35,40,+,12,33,22
92 | Virgo,Messier 90,12,36,50,+,13,9,50
93 | Coma Berenices,Messier 91,12,35,26,+,14,29,47
94 | Hercules,Messier 92,17,17,7,+,43,8,13
95 | Puppis,Messier 93,7,44,30,-,23,51,24
96 | Canes Venatici,Messier 94,12,50,53,+,41,7,17
97 | Leo,Messier 95,10,43,58,+,11,42,12
98 | Leo,Messier 96,10,46,46,+,11,49,12
99 | Ursa Major,Messier 97,11,14,48,+,55,1,10
100 | Coma Berenices,Messier 98,12,13,48,+,14,53,58
101 | Coma Berenices,Messier 99,12,18,49,+,14,25,3
102 | Coma Berenices,Messier 100,12,22,55,+,15,49,22
103 | Ursa Major,Messier 101,14,3,12,+,54,20,58
104 | Draco,Messier 102,15,6,29,+,55,45,49
105 | Cassiopeia,Messier 103,1,33,23,+,60,39,30
106 | Virgo,Messier 104,12,39,59,-,11,37,21
107 | Leo,Messier 105,10,47,50,+,12,34,52
108 | Canes Venatici,Messier 106,12,18,58,+,47,18,25
109 | Ophiucus,Messier 107,16,32,32,-,13,3,11
110 | Ursa Major,Messier 108,11,11,29,+,55,40,22
111 | Ursa Major,Messier 109,11,57,35,+,53,22,25
112 | Andromeda,Messier 110,0,40,22,+,41,41,7
--------------------------------------------------------------------------------
/Catalogs/PreciseAlignmentStars.tsc:
--------------------------------------------------------------------------------
1 | 40,,,,,,,,
2 | 2000,,,,,,,,
3 | Eri,Achernar,1,37,43,-,57,14,12
4 | Cru,Acrux,12,26,36,-,63,5,57
5 | Cyg,Albireo,19,30,43,+,27,57,35
6 | Tau,Aldebaran,4,35,55,+,16,30,33
7 | Peg,Algenib,0,13,14,+,15,11,1
8 | Cen,Alpha Centauri,14,39,36,-,60,50,2
9 | Hya,Alphard,9,27,35,-,8,39,31
10 | CrB,Alphecca,15,34,41,+,26,42,53
11 | And,Alpheratz,0,8,23,+,29,5,25
12 | Aql,Altair,19,50,47,+,8,52,6
13 | Sco,Antares,16,29,24,-,26,25,55
14 | Boo,Arcturus,14,15,40,+,19,10,56
15 | Ori,Betelgeuse,5,55,10,+,7,24,25
16 | Car,Canopus,6,23,57,-,52,41,44
17 | Aur,Capella,5,16,41,+,45,59,52
18 | Cas,Caph,0,9,11,+,59,8,59
19 | Gem,Castor,7,34,36,+,31,53,18
20 | Cyg,Deneb,20,41,26,+,45,16,49
21 | Leo,Denebola,11,49,4,+,14,34,19
22 | Uma,Dubhe,11,3,44,+,61,45,3
23 | PsA,Fomalhaut,22,57,39,-,29,37,20
24 | Cen,Hadar,14,3,49,-,60,22,22
25 | Ari,Hamal,2,7,10,+,23,27,44
26 | Cru,Mimosa,12,47,43,-,59,41,19
27 | And,Mirach,1,9,44,+,35,37,14
28 | Per,Mirfak,3,24,19,+,49,51,40
29 | Uma,Mizar,13,23,56,+,54,55,31
30 | Cas,Navi,0,56,43,+,60,43,0
31 | Pav,Peacock,20,25,39,-,56,44,5
32 | Umi,Polaris,2,31,49,+,89,15,51
33 | Gem,Pollux,7,45,19,+,28,1,34
34 | Cmi,Procyon,7,39,18,+,5,13,29
35 | Oph,Rasalhague,17,34,56,+,12,33,36
36 | Leo,Regulus,10,8,22,+,11,58,2
37 | Ori,Rigel,5,14,32,-,8,12,6
38 | Peg,Scheat,23,3,46,+,28,5,58
39 | Cma,Sirius,6,45,9,-,16,42,58
40 | Vir,Spica,13,25,12,-,11,9,41
41 | Vel,Suhail,9,8,0,-,43,25,57
42 | Lyr,Vega,18,36,56,+,38,47,1
43 |
--------------------------------------------------------------------------------
/Hardware/1_TSC_PiHAT_GPS/GerberFiles/TSC_PiHat_ILD_V1_5.2_contour.gm1:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10R,2.677170X2.755910*%
12 | %ADD11C,0.008000*%
13 | %ADD10C,0.008*%
14 | %LNCONTOUR*%
15 | G90*
16 | G70*
17 | G54D10*
18 | G54D11*
19 | X4Y2752D02*
20 | X2673Y2752D01*
21 | X2673Y4D01*
22 | X4Y4D01*
23 | X4Y2752D01*
24 | D02*
25 | G04 End of contour*
26 | M02*
--------------------------------------------------------------------------------
/Hardware/1_TSC_PiHAT_GPS/GerberFiles/TSC_PiHat_ILD_V1_5.2_drill.txt:
--------------------------------------------------------------------------------
1 | ; NON-PLATED HOLES START AT T1
2 | ; THROUGH (PLATED) HOLES START AT T100
3 | M48
4 | INCH
5 | T1C0.039370
6 | T2C0.125984
7 | T100C0.090551
8 | T101C0.015748
9 | T102C0.038000
10 | T103C0.098425
11 | T104C0.043307
12 | T105C0.040000
13 | T106C0.042000
14 | T107C0.039370
15 | T108C0.035000
16 | T109C0.032000
17 | %
18 | T1
19 | X026410Y017078
20 | T2
21 | X001299Y003027
22 | X001210Y005228
23 | X024210Y002978
24 | X001210Y012228
25 | X001299Y022362
26 | T100
27 | X001460Y019728
28 | X001460Y014228
29 | T101
30 | X017214Y011217
31 | X007700Y016485
32 | X025013Y002281
33 | X007613Y012376
34 | X018959Y018229
35 | X006712Y006213
36 | X002110Y017976
37 | X016610Y002582
38 | X007206Y020962
39 | X003213Y019180
40 | X025707Y026083
41 | X022449Y007234
42 | X024720Y020732
43 | X025197Y026089
44 | X011716Y015234
45 | X007963Y025931
46 | X023700Y014970
47 | X012210Y024715
48 | X018696Y015234
49 | X002705Y018779
50 | X006712Y008221
51 | X006414Y014775
52 | X001016Y026372
53 | X012607Y012981
54 | X003804Y019074
55 | X023110Y009783
56 | X025708Y014970
57 | X009709Y012173
58 | X015206Y018229
59 | X006449Y016485
60 | X021205Y010883
61 | X015206Y023464
62 | X002103Y015285
63 | X021614Y005282
64 | X009214Y003975
65 | X023700Y023464
66 | X021725Y009472
67 | X001508Y024076
68 | X001016Y023978
69 | X013725Y015234
70 | X018465Y008715
71 | X011716Y014476
72 | X009214Y014476
73 | X007316Y005780
74 | X010716Y013777
75 | X018008Y025573
76 | X023016Y006385
77 | X017708Y015727
78 | X010081Y007607
79 | X021725Y015234
80 | X024457Y008715
81 | X013515Y006882
82 | X025811Y013975
83 | X008962Y007234
84 | X025214Y018493
85 | X021725Y016978
86 | X009214Y012227
87 | X008710Y003480
88 | X024227Y014213
89 | X011588Y007606
90 | X026107Y002282
91 | X010081Y004852
92 | X007316Y006780
93 | X022218Y018987
94 | X024228Y012961
95 | X007963Y006740
96 | X015206Y014970
97 | X024228Y011574
98 | X015469Y002723
99 | X007963Y003975
100 | X006508Y025173
101 | X026010Y013278
102 | X025209Y023582
103 | X006812Y024377
104 | X013408Y004080
105 | X014218Y017966
106 | X002103Y016776
107 | X024227Y015727
108 | X019947Y012962
109 | X007206Y016978
110 | X022976Y007991
111 | X023700Y024715
112 | X006712Y007234
113 | X023201Y002476
114 | X020704Y015234
115 | X007700Y015727
116 | X022218Y017966
117 | X003223Y020962
118 | X024217Y018475
119 | X003213Y019878
120 | X023206Y012468
121 | X013915Y025076
122 | X014218Y018987
123 | T102
124 | X005210Y021978
125 | X011210Y022978
126 | X009210Y021978
127 | X011210Y021978
128 | X003210Y022978
129 | X008210Y022978
130 | X013210Y021978
131 | X014210Y022978
132 | X005210Y022978
133 | X012210Y021978
134 | X022210Y021978
135 | X021210Y022978
136 | X007210Y021978
137 | X012210Y022978
138 | X021210Y021978
139 | X019210Y021978
140 | X016210Y021978
141 | X010210Y021978
142 | X019210Y022978
143 | X009210Y022978
144 | X010210Y022978
145 | X013210Y022978
146 | X017210Y022978
147 | X018210Y022978
148 | X014210Y021978
149 | X006210Y022978
150 | X008210Y021978
151 | X004210Y022978
152 | X016210Y022978
153 | X002060Y025428
154 | X006210Y021978
155 | X004210Y021978
156 | X017210Y021978
157 | X018210Y021978
158 | X003060Y025428
159 | X007210Y022978
160 | X020210Y021978
161 | X015210Y021978
162 | X020210Y022978
163 | X022210Y022978
164 | X003210Y021978
165 | X015210Y022978
166 | T103
167 | X001210Y005228
168 | X001210Y012228
169 | T104
170 | X006054Y025378
171 | X007432Y025378
172 | X008810Y025378
173 | X004677Y025378
174 | T105
175 | X010960Y007128
176 | X010710Y017428
177 | X010710Y014428
178 | X013960Y005628
179 | X017960Y005628
180 | X013960Y011628
181 | X010960Y011128
182 | X013205Y025478
183 | X015410Y010478
184 | X015960Y011628
185 | X010710Y016428
186 | X014583Y025478
187 | X016960Y005628
188 | X010710Y002978
189 | X021310Y002978
190 | X011960Y011628
191 | X012960Y005628
192 | X004832Y002978
193 | X010710Y019428
194 | X016960Y011628
195 | X013888Y002978
196 | X003454Y002978
197 | X011827Y025478
198 | X020960Y005628
199 | X022960Y005628
200 | X019960Y005628
201 | X012510Y002978
202 | X010710Y018428
203 | X009332Y002978
204 | X019960Y011628
205 | X010710Y015428
206 | X007954Y002978
207 | X016644Y002978
208 | X012960Y011628
209 | X021960Y011628
210 | X020960Y011628
211 | X022960Y011628
212 | X015960Y005628
213 | X018960Y005628
214 | X015960Y025478
215 | X021960Y005628
216 | X010960Y006128
217 | X014960Y005628
218 | X017960Y011628
219 | X016410Y010478
220 | X018960Y011628
221 | X010960Y009128
222 | X011960Y005628
223 | X015266Y002978
224 | X014960Y011628
225 | X010960Y008128
226 | X010960Y010128
227 | X018022Y002978
228 | X019932Y002978
229 | X006210Y002978
230 | T106
231 | X022310Y004478
232 | X025290Y004478
233 | T107
234 | X006210Y007228
235 | X006210Y005228
236 | X006210Y011228
237 | X006210Y009228
238 | X006210Y012228
239 | X006210Y008228
240 | X006210Y006228
241 | X006210Y010228
242 | T108
243 | X017210Y017478
244 | X016210Y014478
245 | X023210Y014978
246 | X015210Y019478
247 | X022460Y007978
248 | X014210Y019478
249 | X012460Y009478
250 | X017210Y014478
251 | X016460Y009478
252 | X023210Y019478
253 | X017710Y019478
254 | X019460Y019478
255 | X018460Y007978
256 | X022210Y019478
257 | X018710Y016728
258 | X016710Y019478
259 | X015210Y017478
260 | X018460Y009478
261 | X023210Y013978
262 | X018710Y015728
263 | X016210Y017478
264 | X022460Y009478
265 | X016460Y007978
266 | X012460Y007978
267 | X014210Y014478
268 | X014210Y017478
269 | X020460Y019478
270 | X015210Y014478
271 | T109
272 | X021710Y017478
273 | X019710Y014478
274 | X020710Y014478
275 | X019710Y017478
276 | X021710Y014478
277 | X020710Y017478
278 | T00
279 | M30
280 |
--------------------------------------------------------------------------------
/Hardware/1_TSC_PiHAT_GPS/GerberFiles/TSC_PiHat_ILD_V1_5.3_contour.gm1:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10R,2.677170X2.755910*%
12 | %ADD11C,0.008000*%
13 | %ADD10C,0.008*%
14 | %LNCONTOUR*%
15 | G90*
16 | G70*
17 | G54D10*
18 | G54D11*
19 | X4Y2752D02*
20 | X2673Y2752D01*
21 | X2673Y4D01*
22 | X4Y4D01*
23 | X4Y2752D01*
24 | D02*
25 | G04 End of contour*
26 | M02*
--------------------------------------------------------------------------------
/Hardware/1_TSC_PiHAT_GPS/GerberFiles/TSC_PiHat_ILD_V1_5.3_drill.txt:
--------------------------------------------------------------------------------
1 | ; NON-PLATED HOLES START AT T1
2 | ; THROUGH (PLATED) HOLES START AT T100
3 | M48
4 | INCH
5 | T1C0.125984
6 | T2C0.039370
7 | T100C0.040000
8 | T101C0.032000
9 | T102C0.039370
10 | T103C0.038000
11 | T104C0.043307
12 | T105C0.090551
13 | T106C0.098425
14 | T107C0.035000
15 | T108C0.042000
16 | T109C0.015748
17 | %
18 | T1
19 | X001210Y012228
20 | X024210Y002978
21 | X001299Y022362
22 | X001299Y003027
23 | X001210Y005228
24 | T2
25 | X026410Y017078
26 | T100
27 | X014583Y025478
28 | X010710Y017428
29 | X010710Y002978
30 | X016644Y002978
31 | X010960Y010128
32 | X011960Y005628
33 | X013960Y005628
34 | X015960Y005628
35 | X015266Y002978
36 | X012960Y005628
37 | X014960Y005628
38 | X016960Y005628
39 | X018960Y005628
40 | X015960Y025478
41 | X007954Y002978
42 | X010960Y007128
43 | X017960Y005628
44 | X019960Y005628
45 | X010710Y015428
46 | X015960Y011628
47 | X013960Y011628
48 | X011960Y011628
49 | X012510Y002978
50 | X006210Y002978
51 | X018960Y011628
52 | X016960Y011628
53 | X014960Y011628
54 | X012960Y011628
55 | X013888Y002978
56 | X019960Y011628
57 | X017960Y011628
58 | X021960Y005628
59 | X020960Y005628
60 | X022960Y005628
61 | X004832Y002978
62 | X010710Y018428
63 | X021960Y011628
64 | X010960Y011128
65 | X003454Y002978
66 | X022960Y011628
67 | X020960Y011628
68 | X010960Y008128
69 | X016410Y010478
70 | X010710Y016428
71 | X021310Y002978
72 | X013205Y025478
73 | X015410Y010478
74 | X019932Y002978
75 | X010960Y006128
76 | X010710Y014428
77 | X011827Y025478
78 | X010710Y019428
79 | X018022Y002978
80 | X009332Y002978
81 | X010960Y009128
82 | T101
83 | X020710Y017478
84 | X019710Y017478
85 | X021710Y017478
86 | X020710Y014478
87 | X019710Y014478
88 | X021710Y014478
89 | T102
90 | X006210Y010228
91 | X006210Y007228
92 | X006210Y005228
93 | X006210Y011228
94 | X006210Y008228
95 | X006210Y006228
96 | X006210Y012228
97 | X006210Y009228
98 | T103
99 | X011210Y022978
100 | X010210Y022978
101 | X012210Y022978
102 | X014210Y022978
103 | X016210Y022978
104 | X013210Y022978
105 | X015210Y022978
106 | X017210Y022978
107 | X019210Y022978
108 | X018210Y022978
109 | X020210Y022978
110 | X022210Y022978
111 | X021210Y022978
112 | X006210Y021978
113 | X004210Y021978
114 | X009210Y021978
115 | X007210Y021978
116 | X005210Y021978
117 | X003210Y021978
118 | X008210Y021978
119 | X002060Y025428
120 | X011210Y021978
121 | X003060Y025428
122 | X016210Y021978
123 | X014210Y021978
124 | X012210Y021978
125 | X010210Y021978
126 | X019210Y021978
127 | X017210Y021978
128 | X015210Y021978
129 | X013210Y021978
130 | X018210Y021978
131 | X004210Y022978
132 | X006210Y022978
133 | X003210Y022978
134 | X005210Y022978
135 | X007210Y022978
136 | X009210Y022978
137 | X008210Y022978
138 | X022210Y021978
139 | X020210Y021978
140 | X021210Y021978
141 | T104
142 | X006054Y025378
143 | X004677Y025378
144 | X008810Y025378
145 | X007432Y025378
146 | T105
147 | X001460Y019728
148 | X001460Y014228
149 | T106
150 | X001210Y012228
151 | X001210Y005228
152 | T107
153 | X023210Y013978
154 | X022460Y009478
155 | X016710Y019478
156 | X017710Y019478
157 | X018710Y015728
158 | X014210Y014478
159 | X016210Y014478
160 | X023210Y014978
161 | X015210Y014478
162 | X017210Y014478
163 | X014210Y019478
164 | X015210Y019478
165 | X019460Y019478
166 | X016460Y007978
167 | X012460Y007978
168 | X018460Y007978
169 | X018710Y016728
170 | X014210Y017478
171 | X016210Y017478
172 | X015210Y017478
173 | X017210Y017478
174 | X016460Y009478
175 | X012460Y009478
176 | X018460Y009478
177 | X022210Y019478
178 | X020460Y019478
179 | X023210Y019478
180 | X022460Y007978
181 | T108
182 | X025290Y004478
183 | X022310Y004478
184 | T109
185 | X003213Y019878
186 | X002110Y017976
187 | X016610Y002582
188 | X018465Y008715
189 | X024457Y008715
190 | X025214Y018493
191 | X022218Y017966
192 | X020704Y015234
193 | X026107Y002282
194 | X003804Y019074
195 | X003223Y020962
196 | X024227Y015727
197 | X021725Y015234
198 | X010081Y007607
199 | X025209Y023582
200 | X007316Y006780
201 | X002705Y018779
202 | X009214Y003975
203 | X023110Y009783
204 | X007700Y016485
205 | X025197Y026089
206 | X006812Y024377
207 | X023700Y014970
208 | X022218Y018987
209 | X007316Y005780
210 | X015469Y002723
211 | X022976Y007991
212 | X015206Y023464
213 | X018696Y015234
214 | X025013Y002281
215 | X021725Y009472
216 | X025708Y014970
217 | X019947Y012962
218 | X024227Y014213
219 | X006449Y016485
220 | X011199Y004440
221 | X023201Y002476
222 | X006508Y025173
223 | X018008Y025573
224 | X002103Y015285
225 | X014218Y017966
226 | X007613Y012376
227 | X026010Y013278
228 | X009709Y012173
229 | X018959Y018229
230 | X010081Y004852
231 | X024228Y012961
232 | X015206Y018229
233 | X013725Y015234
234 | X001016Y023978
235 | X023016Y006385
236 | X025811Y013975
237 | X023700Y024715
238 | X009703Y006168
239 | X007963Y006740
240 | X015206Y014970
241 | X017708Y015727
242 | X007206Y020962
243 | X017214Y011217
244 | X023206Y012468
245 | X006712Y008221
246 | X008710Y003480
247 | X014218Y018987
248 | X007963Y003975
249 | X010716Y013777
250 | X011716Y015234
251 | X013515Y006882
252 | X011716Y014476
253 | X024228Y011574
254 | X013915Y025076
255 | X021725Y016978
256 | X007206Y016978
257 | X011588Y007606
258 | X001016Y026372
259 | X007700Y015727
260 | X006712Y007234
261 | X021614Y005282
262 | X008962Y007234
263 | X009214Y014476
264 | X001508Y024076
265 | X002103Y016776
266 | X007963Y025931
267 | X025707Y026083
268 | X012607Y012981
269 | X009214Y012227
270 | X015206Y004962
271 | X024720Y020732
272 | X012210Y024715
273 | X003213Y019180
274 | X023700Y023464
275 | X024217Y018475
276 | X006414Y014775
277 | X021205Y010883
278 | X022449Y007234
279 | T00
280 | M30
281 |
--------------------------------------------------------------------------------
/Hardware/1_TSC_PiHAT_GPS/TSC_PiHat_ILD_V1_5.3.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/1_TSC_PiHAT_GPS/TSC_PiHat_ILD_V1_5.3.fzz
--------------------------------------------------------------------------------
/Hardware/2_AMIS_Drives/Teensy4/AMIS30543_Teensy_2.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/2_AMIS_Drives/Teensy4/AMIS30543_Teensy_2.fzz
--------------------------------------------------------------------------------
/Hardware/2_AMIS_Drives/Teensy4/AMIS30543_Teensy_2_pcb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/2_AMIS_Drives/Teensy4/AMIS30543_Teensy_2_pcb.jpg
--------------------------------------------------------------------------------
/Hardware/2_AMIS_Drives/Teensy4/AMIS30543_Teensy_4.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/2_AMIS_Drives/Teensy4/AMIS30543_Teensy_4.fzz
--------------------------------------------------------------------------------
/Hardware/2_AMIS_Drives/Teensy4/Gerber/AMIS30543_Teensy_2_contour.gm1:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10R,3.543310X2.952760*%
12 | %ADD11C,0.008000*%
13 | %ADD10C,0.008*%
14 | %LNCONTOUR*%
15 | G90*
16 | G70*
17 | G54D10*
18 | G54D11*
19 | X4Y2949D02*
20 | X3539Y2949D01*
21 | X3539Y4D01*
22 | X4Y4D01*
23 | X4Y2949D01*
24 | D02*
25 | G04 End of contour*
26 | M02*
--------------------------------------------------------------------------------
/Hardware/2_AMIS_Drives/Teensy4/Gerber/AMIS30543_Teensy_2_drill.txt:
--------------------------------------------------------------------------------
1 | ; NON-PLATED HOLES START AT T1
2 | ; THROUGH (PLATED) HOLES START AT T100
3 | M48
4 | INCH
5 | T1C0.128000
6 | T2C0.137795
7 | T3C0.085827
8 | T4C0.053000
9 | T100C0.078740
10 | T101C0.059055
11 | T102C0.039370
12 | T103C0.040000
13 | T104C0.015748
14 | T105C0.042000
15 | T106C0.038000
16 | %
17 | T1
18 | X001539Y002949
19 | X001539Y006949
20 | T2
21 | X033839Y006208
22 | X033839Y025499
23 | X010636Y025503
24 | X010636Y006212
25 | T3
26 | X009651Y014086
27 | X009651Y004086
28 | X009639Y027398
29 | X009639Y017398
30 | T4
31 | X025873Y023598
32 | X031873Y017598
33 | X033983Y008148
34 | X030873Y023598
35 | X032983Y009148
36 | X027983Y008148
37 | X030983Y014148
38 | X021873Y017598
39 | X026872Y023598
40 | X033983Y014148
41 | X030983Y008148
42 | X020982Y012148
43 | X022873Y017598
44 | X028873Y023598
45 | X027873Y017598
46 | X020982Y010148
47 | X022873Y023598
48 | X026982Y014148
49 | X020982Y011148
50 | X032873Y017598
51 | X033873Y023598
52 | X029872Y017598
53 | X024872Y017598
54 | X020873Y017598
55 | X028983Y014148
56 | X020983Y009148
57 | X025873Y017598
58 | X020983Y008148
59 | X025983Y014148
60 | X020872Y019598
61 | X023873Y023598
62 | X023983Y014148
63 | X033873Y017598
64 | X027983Y014148
65 | X030983Y009148
66 | X032873Y018598
67 | X032873Y023598
68 | X031873Y023598
69 | X026982Y008148
70 | X023983Y008148
71 | X022983Y014148
72 | X031983Y014148
73 | X025983Y008148
74 | X028873Y017598
75 | X029982Y008148
76 | X029872Y023598
77 | X029982Y009148
78 | X032983Y008148
79 | X030873Y017598
80 | X031983Y008148
81 | X020983Y014148
82 | X021983Y008148
83 | X032983Y014148
84 | X024982Y014148
85 | X028983Y008148
86 | X020873Y018598
87 | X021983Y014148
88 | X020872Y021598
89 | X028872Y018598
90 | X020872Y020598
91 | X030873Y018598
92 | X022983Y008148
93 | X023873Y017598
94 | X020873Y022598
95 | X026872Y017598
96 | X021873Y023598
97 | X020873Y023598
98 | X029982Y014148
99 | X024982Y008148
100 | X029872Y018598
101 | X027873Y023598
102 | X024872Y023598
103 | X020983Y013148
104 | X028982Y009148
105 | T100
106 | X032539Y026999
107 | X028839Y026999
108 | T101
109 | X004839Y027699
110 | X004839Y016499
111 | X004839Y014499
112 | X021839Y026799
113 | X004839Y010499
114 | X004839Y023699
115 | X023217Y026799
116 | X004839Y025699
117 | X004839Y021699
118 | X004839Y012499
119 | T102
120 | X008339Y021899
121 | X008339Y023899
122 | X008339Y008499
123 | X008339Y024899
124 | X008339Y022899
125 | X008339Y009499
126 | X008339Y010499
127 | X008339Y011499
128 | T103
129 | X009739Y000999
130 | X012495Y000999
131 | X011117Y000999
132 | X004039Y003699
133 | X008239Y000999
134 | X005039Y006199
135 | X004039Y004699
136 | X006861Y000999
137 | X005039Y005199
138 | X025739Y026799
139 | X005039Y004199
140 | X027117Y026799
141 | X004039Y005699
142 | T104
143 | X024683Y003303
144 | X026443Y004541
145 | X018945Y014990
146 | X020933Y016801
147 | X022446Y014990
148 | X026242Y027899
149 | X025210Y024753
150 | X024747Y026111
151 | X022448Y015799
152 | X020198Y020543
153 | X032872Y024330
154 | X011033Y001904
155 | X018929Y018293
156 | X020937Y015400
157 | X016033Y012503
158 | X005034Y001602
159 | X032545Y028287
160 | X009797Y018879
161 | X003135Y005702
162 | X032630Y012700
163 | X005034Y000395
164 | X019038Y003092
165 | X018833Y012104
166 | X020685Y004541
167 | X019038Y006797
168 | X011729Y018879
169 | X020248Y002794
170 | X018833Y010894
171 | X024698Y016801
172 | X019242Y014599
173 | X019448Y003892
174 | X020043Y012104
175 | X020685Y002303
176 | T105
177 | X028863Y026998
178 | X032539Y026998
179 | T106
180 | X008339Y019899
181 | X008339Y006499
182 | X017239Y008499
183 | X008339Y005499
184 | X017239Y009499
185 | X017239Y021899
186 | X017239Y025899
187 | X017239Y020899
188 | X017239Y016899
189 | X017239Y017899
190 | X017239Y027899
191 | X016239Y003499
192 | X017239Y007499
193 | X017239Y004499
194 | X017239Y019899
195 | X016239Y016899
196 | X017239Y018899
197 | X017239Y023899
198 | X017239Y003499
199 | X008339Y018899
200 | X017239Y005499
201 | X017239Y012499
202 | X017239Y024899
203 | X017239Y011499
204 | X017239Y013499
205 | X017239Y022899
206 | X017239Y010499
207 | X017239Y014499
208 | X017239Y006499
209 | X017239Y026899
210 | T00
211 | M30
212 |
--------------------------------------------------------------------------------
/Hardware/2_AMIS_Drives/Teensy4/Gerber/AMIS30543_Teensy_2_maskBottom.gbs:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10C,0.089370*%
12 | %ADD11C,0.109055*%
13 | %ADD12C,0.049370*%
14 | %ADD13C,0.147795*%
15 | %ADD14C,0.063000*%
16 | %ADD15C,0.090000*%
17 | %ADD16C,0.128740*%
18 | %ADD17C,0.092000*%
19 | %ADD18C,0.088000*%
20 | %ADD19C,0.095827*%
21 | %ADD20C,0.084000*%
22 | %ADD21C,0.138000*%
23 | %ADD22R,0.109055X0.109055*%
24 | %ADD23R,0.062264X0.049500*%
25 | %ADD24R,0.090000X0.090000*%
26 | %ADD25R,0.092000X0.092000*%
27 | %LNMASK0*%
28 | G90*
29 | G70*
30 | G54D10*
31 | X834Y2490D03*
32 | X834Y2390D03*
33 | X834Y2290D03*
34 | X834Y2190D03*
35 | X834Y1150D03*
36 | X834Y1050D03*
37 | X834Y950D03*
38 | X834Y850D03*
39 | G54D11*
40 | X484Y1050D03*
41 | X484Y1250D03*
42 | X484Y1450D03*
43 | X484Y1650D03*
44 | X484Y2170D03*
45 | X484Y2370D03*
46 | X484Y2570D03*
47 | X484Y2770D03*
48 | G54D12*
49 | X2475Y2611D03*
50 | X3263Y1270D03*
51 | X1883Y1210D03*
52 | X1883Y1089D03*
53 | X1945Y389D03*
54 | X1904Y680D03*
55 | X2025Y279D03*
56 | X1904Y309D03*
57 | X2245Y1499D03*
58 | X1924Y1460D03*
59 | X2004Y1210D03*
60 | X1895Y1499D03*
61 | X2094Y1540D03*
62 | X3255Y2829D03*
63 | X1603Y1250D03*
64 | G54D13*
65 | X1064Y2550D03*
66 | X3384Y2550D03*
67 | X1064Y621D03*
68 | X3384Y621D03*
69 | G54D12*
70 | X2624Y2790D03*
71 | X1173Y1888D03*
72 | X980Y1888D03*
73 | X2521Y2475D03*
74 | X3287Y2433D03*
75 | X2470Y1680D03*
76 | X2093Y1680D03*
77 | X2245Y1580D03*
78 | X1893Y1829D03*
79 | X2020Y2054D03*
80 | X2644Y454D03*
81 | X2468Y330D03*
82 | X2069Y454D03*
83 | X2069Y230D03*
84 | G54D14*
85 | X2087Y1760D03*
86 | X2187Y1760D03*
87 | X2287Y1760D03*
88 | X2387Y1760D03*
89 | X2487Y1760D03*
90 | X2587Y1760D03*
91 | X2687Y1760D03*
92 | X2787Y1760D03*
93 | X2887Y1760D03*
94 | X2987Y1760D03*
95 | X3087Y1760D03*
96 | X3187Y1760D03*
97 | X3287Y1760D03*
98 | X3387Y1760D03*
99 | X3287Y1860D03*
100 | X2087Y2360D03*
101 | X2187Y2360D03*
102 | X2287Y2360D03*
103 | X2387Y2360D03*
104 | X2487Y2360D03*
105 | X2587Y2360D03*
106 | X2687Y2360D03*
107 | X2787Y2360D03*
108 | X2887Y2360D03*
109 | X2987Y2360D03*
110 | X3087Y2360D03*
111 | X3187Y2360D03*
112 | X3287Y2360D03*
113 | X3387Y2360D03*
114 | X2987Y1860D03*
115 | X3087Y1860D03*
116 | X2887Y1860D03*
117 | X2087Y2160D03*
118 | X2087Y2260D03*
119 | X2087Y2060D03*
120 | X2087Y1860D03*
121 | X2087Y1960D03*
122 | X2098Y815D03*
123 | X2198Y815D03*
124 | X2298Y815D03*
125 | X2398Y815D03*
126 | X2498Y815D03*
127 | X2598Y815D03*
128 | X2698Y815D03*
129 | X2798Y815D03*
130 | X2898Y815D03*
131 | X2998Y815D03*
132 | X3098Y815D03*
133 | X3198Y815D03*
134 | X3298Y815D03*
135 | X3398Y815D03*
136 | X3298Y915D03*
137 | X2098Y1415D03*
138 | X2198Y1415D03*
139 | X2298Y1415D03*
140 | X2398Y1415D03*
141 | X2498Y1415D03*
142 | X2598Y1415D03*
143 | X2698Y1415D03*
144 | X2798Y1415D03*
145 | X2898Y1415D03*
146 | X2998Y1415D03*
147 | X3098Y1415D03*
148 | X3198Y1415D03*
149 | X3298Y1415D03*
150 | X3398Y1415D03*
151 | X2998Y915D03*
152 | X3098Y915D03*
153 | X2898Y915D03*
154 | X2098Y1215D03*
155 | X2098Y1315D03*
156 | X2098Y1115D03*
157 | X2098Y915D03*
158 | X2098Y1015D03*
159 | G54D15*
160 | X2574Y2680D03*
161 | X2712Y2680D03*
162 | G54D16*
163 | X2884Y2700D03*
164 | X3254Y2700D03*
165 | G54D17*
166 | X3254Y2700D03*
167 | X2886Y2700D03*
168 | G54D18*
169 | X1724Y2790D03*
170 | X1724Y2690D03*
171 | X1724Y2590D03*
172 | X1724Y2490D03*
173 | X1724Y2390D03*
174 | X1724Y2290D03*
175 | X1724Y2190D03*
176 | X1724Y2090D03*
177 | X1724Y1990D03*
178 | X1724Y1890D03*
179 | X1724Y1790D03*
180 | X1724Y1450D03*
181 | X1724Y1350D03*
182 | X1724Y1250D03*
183 | X1724Y1150D03*
184 | X1724Y1050D03*
185 | X1724Y950D03*
186 | X1724Y850D03*
187 | X1724Y750D03*
188 | X1724Y650D03*
189 | X1724Y550D03*
190 | X1724Y450D03*
191 | X834Y1990D03*
192 | X834Y1890D03*
193 | X834Y650D03*
194 | X834Y550D03*
195 | X1724Y1690D03*
196 | X1624Y1690D03*
197 | X1724Y350D03*
198 | X1624Y350D03*
199 | G54D19*
200 | X965Y1409D03*
201 | X964Y2740D03*
202 | X965Y409D03*
203 | X964Y1740D03*
204 | G54D11*
205 | X2184Y2680D03*
206 | X2322Y2680D03*
207 | G54D20*
208 | X504Y620D03*
209 | X404Y570D03*
210 | X504Y520D03*
211 | X404Y470D03*
212 | X504Y420D03*
213 | X404Y370D03*
214 | G54D21*
215 | X154Y695D03*
216 | X154Y295D03*
217 | G54D15*
218 | X1250Y100D03*
219 | X1112Y100D03*
220 | X974Y100D03*
221 | X824Y100D03*
222 | X686Y100D03*
223 | G54D12*
224 | X503Y160D03*
225 | X503Y40D03*
226 | X314Y570D03*
227 | X1103Y190D03*
228 | G54D22*
229 | X484Y1050D03*
230 | X484Y2170D03*
231 | G54D23*
232 | X2688Y1960D03*
233 | X2688Y2060D03*
234 | X2788Y1960D03*
235 | X2788Y2060D03*
236 | X2588Y1960D03*
237 | X2488Y1960D03*
238 | X2388Y1960D03*
239 | X2288Y1960D03*
240 | X2188Y1960D03*
241 | X2188Y2060D03*
242 | X2288Y2060D03*
243 | X2388Y2060D03*
244 | X2488Y2060D03*
245 | X2588Y2060D03*
246 | X2699Y1015D03*
247 | X2699Y1115D03*
248 | X2799Y1015D03*
249 | X2799Y1115D03*
250 | X2599Y1015D03*
251 | X2499Y1015D03*
252 | X2399Y1015D03*
253 | X2299Y1015D03*
254 | X2199Y1015D03*
255 | X2199Y1115D03*
256 | X2299Y1115D03*
257 | X2399Y1115D03*
258 | X2499Y1115D03*
259 | X2599Y1115D03*
260 | G54D24*
261 | X2574Y2680D03*
262 | G54D25*
263 | X3255Y2700D03*
264 | G54D22*
265 | X2184Y2680D03*
266 | G54D24*
267 | X1250Y100D03*
268 | X824Y100D03*
269 | G04 End of Mask0*
270 | M02*
--------------------------------------------------------------------------------
/Hardware/2_AMIS_Drives/Teensy4/Gerber/AMIS30543_Teensy_2_maskTop.gts:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10C,0.089370*%
12 | %ADD11C,0.109055*%
13 | %ADD12C,0.049370*%
14 | %ADD13C,0.147795*%
15 | %ADD14C,0.063000*%
16 | %ADD15C,0.090000*%
17 | %ADD16C,0.128740*%
18 | %ADD17C,0.092000*%
19 | %ADD18C,0.088000*%
20 | %ADD19C,0.095827*%
21 | %ADD20C,0.084000*%
22 | %ADD21C,0.138000*%
23 | %ADD22R,0.109055X0.109055*%
24 | %ADD23R,0.090000X0.090000*%
25 | %ADD24R,0.092000X0.092000*%
26 | %LNMASK1*%
27 | G90*
28 | G70*
29 | G54D10*
30 | X834Y2490D03*
31 | X834Y2390D03*
32 | X834Y2290D03*
33 | X834Y2190D03*
34 | X834Y1150D03*
35 | X834Y1050D03*
36 | X834Y950D03*
37 | X834Y850D03*
38 | G54D11*
39 | X484Y1050D03*
40 | X484Y1250D03*
41 | X484Y1450D03*
42 | X484Y1650D03*
43 | X484Y2170D03*
44 | X484Y2370D03*
45 | X484Y2570D03*
46 | X484Y2770D03*
47 | G54D12*
48 | X2475Y2611D03*
49 | X3263Y1270D03*
50 | X1883Y1210D03*
51 | X1883Y1089D03*
52 | X1945Y389D03*
53 | X1904Y680D03*
54 | X2025Y279D03*
55 | X1904Y309D03*
56 | X2245Y1499D03*
57 | X1924Y1460D03*
58 | X2004Y1210D03*
59 | X1895Y1499D03*
60 | X2094Y1540D03*
61 | X3255Y2829D03*
62 | X1603Y1250D03*
63 | G54D13*
64 | X1064Y2550D03*
65 | X3384Y2550D03*
66 | X1064Y621D03*
67 | X3384Y621D03*
68 | G54D12*
69 | X2624Y2790D03*
70 | X1173Y1888D03*
71 | X980Y1888D03*
72 | X2521Y2475D03*
73 | X3287Y2433D03*
74 | X2470Y1680D03*
75 | X2093Y1680D03*
76 | X2245Y1580D03*
77 | X1893Y1829D03*
78 | X2020Y2054D03*
79 | X2644Y454D03*
80 | X2468Y330D03*
81 | X2069Y454D03*
82 | X2069Y230D03*
83 | G54D14*
84 | X2087Y1760D03*
85 | X2187Y1760D03*
86 | X2287Y1760D03*
87 | X2387Y1760D03*
88 | X2487Y1760D03*
89 | X2587Y1760D03*
90 | X2687Y1760D03*
91 | X2787Y1760D03*
92 | X2887Y1760D03*
93 | X2987Y1760D03*
94 | X3087Y1760D03*
95 | X3187Y1760D03*
96 | X3287Y1760D03*
97 | X3387Y1760D03*
98 | X3287Y1860D03*
99 | X2087Y2360D03*
100 | X2187Y2360D03*
101 | X2287Y2360D03*
102 | X2387Y2360D03*
103 | X2487Y2360D03*
104 | X2587Y2360D03*
105 | X2687Y2360D03*
106 | X2787Y2360D03*
107 | X2887Y2360D03*
108 | X2987Y2360D03*
109 | X3087Y2360D03*
110 | X3187Y2360D03*
111 | X3287Y2360D03*
112 | X3387Y2360D03*
113 | X2987Y1860D03*
114 | X3087Y1860D03*
115 | X2887Y1860D03*
116 | X2087Y2160D03*
117 | X2087Y2260D03*
118 | X2087Y2060D03*
119 | X2087Y1860D03*
120 | X2087Y1960D03*
121 | X2098Y815D03*
122 | X2198Y815D03*
123 | X2298Y815D03*
124 | X2398Y815D03*
125 | X2498Y815D03*
126 | X2598Y815D03*
127 | X2698Y815D03*
128 | X2798Y815D03*
129 | X2898Y815D03*
130 | X2998Y815D03*
131 | X3098Y815D03*
132 | X3198Y815D03*
133 | X3298Y815D03*
134 | X3398Y815D03*
135 | X3298Y915D03*
136 | X2098Y1415D03*
137 | X2198Y1415D03*
138 | X2298Y1415D03*
139 | X2398Y1415D03*
140 | X2498Y1415D03*
141 | X2598Y1415D03*
142 | X2698Y1415D03*
143 | X2798Y1415D03*
144 | X2898Y1415D03*
145 | X2998Y1415D03*
146 | X3098Y1415D03*
147 | X3198Y1415D03*
148 | X3298Y1415D03*
149 | X3398Y1415D03*
150 | X2998Y915D03*
151 | X3098Y915D03*
152 | X2898Y915D03*
153 | X2098Y1215D03*
154 | X2098Y1315D03*
155 | X2098Y1115D03*
156 | X2098Y915D03*
157 | X2098Y1015D03*
158 | G54D15*
159 | X2574Y2680D03*
160 | X2712Y2680D03*
161 | G54D16*
162 | X2884Y2700D03*
163 | X3254Y2700D03*
164 | G54D17*
165 | X3254Y2700D03*
166 | X2886Y2700D03*
167 | G54D18*
168 | X1724Y2790D03*
169 | X1724Y2690D03*
170 | X1724Y2590D03*
171 | X1724Y2490D03*
172 | X1724Y2390D03*
173 | X1724Y2290D03*
174 | X1724Y2190D03*
175 | X1724Y2090D03*
176 | X1724Y1990D03*
177 | X1724Y1890D03*
178 | X1724Y1790D03*
179 | X1724Y1450D03*
180 | X1724Y1350D03*
181 | X1724Y1250D03*
182 | X1724Y1150D03*
183 | X1724Y1050D03*
184 | X1724Y950D03*
185 | X1724Y850D03*
186 | X1724Y750D03*
187 | X1724Y650D03*
188 | X1724Y550D03*
189 | X1724Y450D03*
190 | X834Y1990D03*
191 | X834Y1890D03*
192 | X834Y650D03*
193 | X834Y550D03*
194 | X1724Y1690D03*
195 | X1624Y1690D03*
196 | X1724Y350D03*
197 | X1624Y350D03*
198 | G54D19*
199 | X965Y1409D03*
200 | X964Y2740D03*
201 | X965Y409D03*
202 | X964Y1740D03*
203 | G54D11*
204 | X2184Y2680D03*
205 | X2322Y2680D03*
206 | G54D20*
207 | X504Y620D03*
208 | X404Y570D03*
209 | X504Y520D03*
210 | X404Y470D03*
211 | X504Y420D03*
212 | X404Y370D03*
213 | G54D21*
214 | X154Y695D03*
215 | X154Y295D03*
216 | G54D20*
217 | X504Y620D03*
218 | X404Y570D03*
219 | X504Y520D03*
220 | X404Y470D03*
221 | X504Y420D03*
222 | X404Y370D03*
223 | G54D21*
224 | X154Y695D03*
225 | X154Y295D03*
226 | G54D15*
227 | X1250Y100D03*
228 | X1112Y100D03*
229 | X974Y100D03*
230 | X824Y100D03*
231 | X686Y100D03*
232 | G54D12*
233 | X503Y160D03*
234 | X503Y40D03*
235 | X314Y570D03*
236 | X1103Y190D03*
237 | G54D22*
238 | X484Y1050D03*
239 | X484Y2170D03*
240 | G54D23*
241 | X2574Y2680D03*
242 | G54D24*
243 | X3255Y2700D03*
244 | G54D22*
245 | X2184Y2680D03*
246 | G54D23*
247 | X1250Y100D03*
248 | X824Y100D03*
249 | G04 End of Mask1*
250 | M02*
--------------------------------------------------------------------------------
/Hardware/2_AMIS_Drives/Teensy4/Gerber/AMIS30543_Teensy_2_pnp.txt:
--------------------------------------------------------------------------------
1 | *Pick And Place List
2 | *Company=
3 | *Author=
4 | *eMail=
5 | *
6 | *Project=AMIS30543_Teensy_2
7 | *Date=12:55:17
8 | *CreatedBy=Fritzing 0.9.3b.04.19.5c895d327c44a3114e5fcc9d8260daf0cbb52806
9 | *
10 | *
11 | *Coordinates in mm, always center of component
12 | *Origin 0/0=Lower left corner of PCB
13 | *Rotation in degree (0-360, math. pos.)
14 | *
15 | *No;Value;Package;X;Y;Rotation;Side;Name
16 | 1;;;24.885;-47.9527;0;Bottom;Via2
17 | 2;;;62.7338;-42.6751;0;Bottom;Via7
18 | 3;;;27.0156;-64.779;0;Bottom;Hole15
19 | 4;;THT;21.1818;-15.238;0;Bottom;GND/VMOT
20 | 5;;;48.3574;-17.2667;0;Bottom;Via29
21 | 6;;;51.3038;-52.1804;0;Bottom;Via12
22 | 7;;THT;19.3048;-2.02996;90;Bottom;E/COM
23 | 8;;THT;42.5178;-42.924;90;Bottom;VD(Out)/IORef1
24 | 9;;;24.4844;-69.5933;0;Bottom;Hole3
25 | 10;;;70.0247;-52.3124;180;Bottom;Teensy 4
26 | 11;;;82.6644;-71.8513;0;Bottom;Via39
27 | 12;;;40.079;-53.0762;0;Bottom;TXT1
28 | 13;;;62.858;-66.3225;0;Bottom;Via23
29 | 14;;;40.0253;-60.843;0;Bottom;TXT1
30 | 15;;;85.952;-15.7683;0;Bottom;Hole12
31 | 16;;;28.0261;-4.8364;0;Bottom;Via44
32 | 17;;;57.0188;-40.1295;0;Bottom;Via10
33 | 18;;;24.5155;-10.3803;0;Bottom;Hole11
34 | 19;;;40.1298;-55.7488;0;Bottom;TXT1
35 | 20;;;48.1204;-38.0749;0;Bottom;Via36
36 | 21;;;48.8767;-37.0815;0;Bottom;Via34
37 | 22;;;52.54;-11.5347;0;Bottom;Via17
38 | 23;;;40.1592;-65.8214;0;Bottom;TXT1
39 | 24;;;24.4844;-44.1933;0;Bottom;Hole2
40 | 25;;;77.995;-68.5766;180;Bottom;D1
41 | 26;;;85.952;-64.7677;0;Bottom;Hole14
42 | 27;;;27.0156;-15.7796;0;Bottom;Hole13
43 | 28;;THT;21.1818;-49.274;0;Bottom;VMOT/GND1
44 | 29;;;39.9955;-58.1534;0;Bottom;TXT1
45 | 30;;;12.7879;-4.06998;0;Bottom;Via41
46 | 31;;THT;82.6498;-68.578;0;Bottom;-
47 | 32;;;38.4859;-47.9398;0;Bottom;TXT1
48 | 33;;;53.1806;-39.1163;0;Bottom;Via38
49 | 34;;;24.5155;-35.7803;0;Bottom;Hole10
50 | 35;;;48.3574;-7.85456;0;Bottom;Via31
51 | 36;;;64.0349;-62.8738;0;Bottom;Via4
52 | 37;;THT;28.3648;-2.02996;90;Bottom;N/S/W
53 | 38;;THT;43.7878;-24.128;0;Bottom;AMIS 30543
54 | 39;;;40.2297;-63.1487;0;Bottom;TXT1
55 | 40;;;67.1676;-11.5347;0;Bottom;Via15
56 | 41;;;51.4308;-7.0982;0;Bottom;Via30
57 | 42;;;57.0132;-38.0749;0;Bottom;Via32
58 | 43;;;47.8382;-27.6722;0;Bottom;Via26
59 | 44;;;7.96398;-14.4843;0;Bottom;Via43
60 | 45;;THT;21.1818;-59.434;0;Bottom;AA'BB'
61 | 46;;;48.0809;-46.4654;0;Bottom;Via11
62 | 47;;;53.1722;-42.6751;0;Bottom;Via9
63 | 48;;;70.3041;-28.3094;180;Bottom;Teensy 4
64 | 49;;;52.54;-5.85078;0;Bottom;Via18
65 | 50;;;29.7929;-47.9527;0;Bottom;Via1
66 | 51;;rj11-6;6.5133;-12.571;90;Bottom;ST4
67 | 52;;;49.3988;-9.88656;0;Bottom;Via28
68 | 53;;;12.7879;-1.00431;0;Bottom;Via42
69 | 54;;THT;73.2518;-68.578;0;Bottom;-
70 | 55;;THT;43.7878;-58.164;0;Bottom;AMIS 30544
71 | 56;;THT;11.2758;-62.609;180;Bottom;AA'BB'
72 | 57;;;40.7262;-31.7588;0;Bottom;Via40
73 | 58;;;50.9116;-30.7456;0;Bottom;Via35
74 | 59;;;83.4969;-61.7985;0;Bottom;Via5
75 | 60;;THT;42.5178;-8.88796;90;Bottom;VD(Out)/IORef
76 | 61;;THT;67.0006;-68.5775;-90;Bottom;Fuse
77 | 62;;THT;57.0946;-68.5775;-90;Bottom;GND/+
78 | 63;;;62.6972;-8.39078;0;Bottom;Via16
79 | 64;;THT;11.2758;-34.161;180;Bottom;AA'BB'
80 | 65;;;82.8817;-32.2583;0;Bottom;Via24
81 | 66;;;39.908;-50.2935;0;Bottom;TXT1
82 | 67;;;66.6567;-70.8635;0;Bottom;Via22
83 | 68;;;39.8459;-45.4506;0;Bottom;TXT1
84 | 69;;THT;21.1818;-25.398;0;Bottom;AA'BB'
85 | 70;;;47.8382;-30.7456;0;Bottom;Via25
86 |
--------------------------------------------------------------------------------
/Hardware/2_AMIS_Drives/Teensy4/Gerber/AMIS30543_Teensy_2_silkBottom.gbo:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10R,3.543310X2.952760X3.527310X2.936760*%
12 | %ADD11C,0.008000*%
13 | %LNSILK0*%
14 | G90*
15 | G70*
16 | G54D11*
17 | X4Y2949D02*
18 | X3539Y2949D01*
19 | X3539Y4D01*
20 | X4Y4D01*
21 | X4Y2949D01*
22 | D02*
23 | G04 End of Silk0*
24 | M02*
--------------------------------------------------------------------------------
/Hardware/2_AMIS_Drives/Teensy4/Gerber4/AMIS30543_Teensy_4_contour.gm1:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10R,3.346460X2.755910*%
12 | %ADD11C,0.008000*%
13 | %ADD10C,0.008*%
14 | %LNCONTOUR*%
15 | G90*
16 | G70*
17 | G54D10*
18 | G54D11*
19 | X4Y2752D02*
20 | X3342Y2752D01*
21 | X3342Y4D01*
22 | X4Y4D01*
23 | X4Y2752D01*
24 | D02*
25 | G04 End of contour*
26 | M02*
--------------------------------------------------------------------------------
/Hardware/2_AMIS_Drives/Teensy4/Gerber4/AMIS30543_Teensy_4_drill.txt:
--------------------------------------------------------------------------------
1 | ; NON-PLATED HOLES START AT T1
2 | ; THROUGH (PLATED) HOLES START AT T100
3 | M48
4 | INCH
5 | T1C0.128000
6 | T2C0.125984
7 | T100C0.040000
8 | T101C0.015748
9 | T102C0.042000
10 | T103C0.059055
11 | T104C0.038000
12 | T105C0.039111
13 | T106C0.078740
14 | T107C0.039370
15 | T108C0.086614
16 | %
17 | T1
18 | X001079Y015135
19 | X001079Y019135
20 | T2
21 | X001299Y003026
22 | X001299Y022361
23 | X024210Y002978
24 | T100
25 | X015079Y001684
26 | X009579Y025884
27 | X003579Y016885
28 | X004579Y016385
29 | X004579Y018385
30 | X006601Y001384
31 | X008201Y025884
32 | X003579Y017885
33 | X007979Y001384
34 | X005057Y001384
35 | X004579Y017385
36 | X017835Y001684
37 | X003679Y001384
38 | X013702Y001684
39 | X003579Y015885
40 | X016457Y001684
41 | X009357Y001384
42 | T101
43 | X013289Y013595
44 | X019572Y026477
45 | X030579Y027184
46 | X007576Y010483
47 | X018176Y018688
48 | X014583Y010885
49 | X016373Y017882
50 | X017887Y015883
51 | X017785Y018084
52 | X019774Y016877
53 | X015079Y011284
54 | X018885Y002277
55 | X017580Y021078
56 | X016072Y010889
57 | X017975Y023883
58 | X018190Y005184
59 | X018980Y009198
60 | X017887Y012778
61 | X006570Y015988
62 | X006578Y018884
63 | X017975Y022290
64 | X009470Y021180
65 | X016185Y018486
66 | X003184Y004977
67 | X014279Y005384
68 | X017580Y016879
69 | X016185Y020882
70 | X003988Y002483
71 | X003370Y014891
72 | X007286Y002091
73 | X013392Y004972
74 | X014583Y010088
75 | X017185Y017288
76 | X006791Y025874
77 | X026782Y016097
78 | X029579Y014384
79 | X011177Y013675
80 | X016794Y024086
81 | X027579Y013984
82 | X017188Y022488
83 | X017975Y019486
84 | X017580Y019882
85 | X031181Y016097
86 | X029576Y025075
87 | X016382Y016683
88 | X017583Y018688
89 | X017079Y003484
90 | X014579Y012084
91 | T102
92 | X009479Y023484
93 | X009479Y019808
94 | T103
95 | X002957Y025884
96 | X001579Y025884
97 | T104
98 | X015479Y021884
99 | X015479Y024884
100 | X015479Y018884
101 | X015479Y016884
102 | X007579Y012784
103 | X015479Y020884
104 | X012579Y012784
105 | X015579Y012784
106 | X010579Y012784
107 | X006579Y012784
108 | X016579Y012784
109 | X013579Y012784
110 | X011579Y012784
111 | X014579Y003884
112 | X005579Y012784
113 | X015479Y025884
114 | X015479Y014884
115 | X008579Y012784
116 | X015479Y023884
117 | X014579Y012784
118 | X009579Y012784
119 | X014479Y014884
120 | X015479Y015884
121 | X015479Y019884
122 | X013579Y003884
123 | X015479Y017884
124 | X015479Y022884
125 | X006579Y016884
126 | X016579Y011784
127 | X006579Y017884
128 | T105
129 | X028579Y019885
130 | X018580Y017885
131 | X029579Y011885
132 | X030579Y020885
133 | X027579Y025885
134 | X023580Y019885
135 | X021579Y017885
136 | X022579Y019885
137 | X023580Y025885
138 | X026578Y020885
139 | X026578Y012885
140 | X019579Y025885
141 | X022579Y025885
142 | X023580Y017885
143 | X028579Y025885
144 | X021579Y019885
145 | X031579Y025885
146 | X018579Y023885
147 | X019579Y011885
148 | X018580Y012885
149 | X020579Y011885
150 | X027578Y020885
151 | X021579Y025885
152 | X027579Y019885
153 | X018579Y013885
154 | X020579Y019885
155 | X024579Y025885
156 | X029579Y025885
157 | X026579Y017885
158 | X025579Y025885
159 | X028579Y011885
160 | X018579Y015885
161 | X020579Y025885
162 | X018579Y022885
163 | X025579Y017885
164 | X019579Y017885
165 | X029579Y017885
166 | X030579Y011885
167 | X031579Y017885
168 | X023580Y011885
169 | X018579Y014885
170 | X027579Y011885
171 | X029579Y019885
172 | X025579Y019885
173 | X025579Y011885
174 | X021579Y011885
175 | X018580Y011885
176 | X030579Y019885
177 | X030579Y017885
178 | X022579Y011885
179 | X024579Y011885
180 | X018580Y016885
181 | X030579Y025885
182 | X030579Y012885
183 | X031579Y019885
184 | X028579Y012885
185 | X028579Y020885
186 | X022579Y017885
187 | X026579Y025885
188 | X020579Y017885
189 | X026579Y019885
190 | X019579Y019885
191 | X018579Y021885
192 | X026579Y011885
193 | X028579Y017885
194 | X027579Y017885
195 | X018580Y024885
196 | X018580Y019885
197 | X018580Y020885
198 | X024579Y019885
199 | X018580Y025885
200 | X027578Y012885
201 | X024579Y017885
202 | X031579Y011885
203 | T106
204 | X009479Y019784
205 | X009479Y023484
206 | T107
207 | X006579Y021884
208 | X006579Y019884
209 | X020579Y009184
210 | X020579Y002184
211 | X020579Y007184
212 | X020579Y001184
213 | X011579Y003884
214 | X020579Y006184
215 | X020579Y003184
216 | X006579Y022884
217 | X020579Y008184
218 | X006579Y020884
219 | X010579Y003884
220 | X009579Y003884
221 | X020579Y004184
222 | X008579Y003884
223 | X020579Y005184
224 | T108
225 | X032136Y009184
226 | X032136Y001184
227 | T00
228 | M30
229 |
--------------------------------------------------------------------------------
/Hardware/2_AMIS_Drives/Teensy4/Gerber4/AMIS30543_Teensy_4_maskBottom.gbs:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10C,0.049370*%
12 | %ADD11C,0.080000*%
13 | %ADD12C,0.128110*%
14 | %ADD13C,0.090000*%
15 | %ADD14C,0.167480*%
16 | %ADD15C,0.084000*%
17 | %ADD16C,0.138000*%
18 | %ADD17C,0.089370*%
19 | %ADD18C,0.076889*%
20 | %ADD19C,0.092000*%
21 | %ADD20C,0.088000*%
22 | %ADD21C,0.109055*%
23 | %ADD22C,0.135984*%
24 | %ADD23R,0.090000X0.090000*%
25 | %ADD24R,0.062264X0.049500*%
26 | %ADD25R,0.092000X0.092000*%
27 | %ADD26R,0.109055X0.109055*%
28 | %LNMASK0*%
29 | G90*
30 | G70*
31 | G54D10*
32 | X1889Y228D03*
33 | X1898Y920D03*
34 | X1819Y518D03*
35 | X1708Y348D03*
36 | G54D11*
37 | X2058Y118D03*
38 | X2058Y218D03*
39 | X2058Y318D03*
40 | X2058Y418D03*
41 | X2058Y518D03*
42 | X2058Y618D03*
43 | X2058Y718D03*
44 | X2058Y818D03*
45 | X2058Y918D03*
46 | G54D12*
47 | X3214Y918D03*
48 | X3214Y118D03*
49 | G54D13*
50 | X1784Y168D03*
51 | X1646Y168D03*
52 | X1508Y168D03*
53 | X1370Y168D03*
54 | G54D10*
55 | X1679Y2409D03*
56 | X3058Y2718D03*
57 | X1957Y2648D03*
58 | X1758Y2108D03*
59 | X1798Y2388D03*
60 | X1719Y2249D03*
61 | X1619Y2088D03*
62 | X1758Y1988D03*
63 | X1638Y1668D03*
64 | X1719Y1729D03*
65 | X1619Y1849D03*
66 | X2958Y2508D03*
67 | X1758Y1869D03*
68 | X1818Y1869D03*
69 | X2958Y1438D03*
70 | X758Y1048D03*
71 | X2758Y1398D03*
72 | X1458Y1208D03*
73 | X1458Y1089D03*
74 | X1458Y1009D03*
75 | X1789Y1278D03*
76 | X1789Y1588D03*
77 | X1607Y1089D03*
78 | X1508Y1128D03*
79 | X658Y1888D03*
80 | X1428Y538D03*
81 | X1339Y497D03*
82 | X657Y1599D03*
83 | X1329Y1360D03*
84 | X1758Y1688D03*
85 | X2678Y1610D03*
86 | X3118Y1610D03*
87 | X1977Y1688D03*
88 | X1118Y1368D03*
89 | G54D14*
90 | X948Y2348D03*
91 | X948Y1978D03*
92 | G54D10*
93 | X1798Y1949D03*
94 | X1798Y2229D03*
95 | X1637Y1788D03*
96 | X1779Y1808D03*
97 | X679Y2587D03*
98 | X947Y2118D03*
99 | G54D15*
100 | X458Y1839D03*
101 | X358Y1789D03*
102 | X458Y1739D03*
103 | X358Y1689D03*
104 | X458Y1639D03*
105 | X358Y1589D03*
106 | G54D16*
107 | X108Y1914D03*
108 | X108Y1514D03*
109 | G54D13*
110 | X506Y138D03*
111 | X368Y138D03*
112 | X936Y138D03*
113 | X798Y138D03*
114 | X660Y138D03*
115 | G54D17*
116 | X858Y388D03*
117 | X958Y388D03*
118 | X1058Y388D03*
119 | X1158Y388D03*
120 | X658Y2288D03*
121 | X658Y2188D03*
122 | X658Y2088D03*
123 | X658Y1988D03*
124 | G54D18*
125 | X1858Y1189D03*
126 | X1958Y1189D03*
127 | X2058Y1189D03*
128 | X2158Y1189D03*
129 | X2258Y1189D03*
130 | X2358Y1189D03*
131 | X2458Y1189D03*
132 | X2558Y1189D03*
133 | X2658Y1189D03*
134 | X2758Y1189D03*
135 | X2858Y1189D03*
136 | X2958Y1189D03*
137 | X3058Y1189D03*
138 | X3158Y1189D03*
139 | X3058Y1289D03*
140 | X1858Y1789D03*
141 | X1958Y1789D03*
142 | X2058Y1789D03*
143 | X2158Y1789D03*
144 | X2258Y1789D03*
145 | X2358Y1789D03*
146 | X2458Y1789D03*
147 | X2558Y1789D03*
148 | X2658Y1789D03*
149 | X2758Y1789D03*
150 | X2858Y1789D03*
151 | X2958Y1789D03*
152 | X3058Y1789D03*
153 | X3158Y1789D03*
154 | X2758Y1289D03*
155 | X2858Y1289D03*
156 | X2658Y1289D03*
157 | X1858Y1589D03*
158 | X1858Y1689D03*
159 | X1858Y1489D03*
160 | X1858Y1289D03*
161 | X1858Y1389D03*
162 | X1858Y1989D03*
163 | X1958Y1989D03*
164 | X2058Y1989D03*
165 | X2158Y1989D03*
166 | X2258Y1989D03*
167 | X2358Y1989D03*
168 | X2458Y1989D03*
169 | X2558Y1989D03*
170 | X2658Y1989D03*
171 | X2758Y1989D03*
172 | X2858Y1989D03*
173 | X2958Y1989D03*
174 | X3058Y1989D03*
175 | X3158Y1989D03*
176 | X3058Y2089D03*
177 | X1858Y2589D03*
178 | X1958Y2589D03*
179 | X2058Y2589D03*
180 | X2158Y2589D03*
181 | X2258Y2589D03*
182 | X2358Y2589D03*
183 | X2458Y2589D03*
184 | X2558Y2589D03*
185 | X2658Y2589D03*
186 | X2758Y2589D03*
187 | X2858Y2589D03*
188 | X2958Y2589D03*
189 | X3058Y2589D03*
190 | X3158Y2589D03*
191 | X2758Y2089D03*
192 | X2858Y2089D03*
193 | X2658Y2089D03*
194 | X1858Y2389D03*
195 | X1858Y2489D03*
196 | X1858Y2289D03*
197 | X1858Y2089D03*
198 | X1858Y2189D03*
199 | G54D13*
200 | X958Y2588D03*
201 | X820Y2588D03*
202 | X958Y2588D03*
203 | X820Y2588D03*
204 | G54D19*
205 | X948Y2348D03*
206 | X948Y1981D03*
207 | X948Y2348D03*
208 | X948Y1981D03*
209 | G54D20*
210 | X558Y1278D03*
211 | X658Y1278D03*
212 | X758Y1278D03*
213 | X858Y1278D03*
214 | X958Y1278D03*
215 | X1058Y1278D03*
216 | X1158Y1278D03*
217 | X1258Y1278D03*
218 | X1358Y1278D03*
219 | X1458Y1278D03*
220 | X1558Y1278D03*
221 | X1548Y2588D03*
222 | X1548Y2488D03*
223 | X1548Y2388D03*
224 | X1548Y2288D03*
225 | X1548Y2188D03*
226 | X1548Y2088D03*
227 | X1548Y1988D03*
228 | X1548Y1888D03*
229 | X1548Y1788D03*
230 | X1548Y1688D03*
231 | X1548Y1588D03*
232 | X1358Y388D03*
233 | X1458Y388D03*
234 | X658Y1788D03*
235 | X658Y1688D03*
236 | X1658Y1278D03*
237 | X1658Y1178D03*
238 | X1548Y1488D03*
239 | X1448Y1488D03*
240 | G54D21*
241 | X158Y2588D03*
242 | X296Y2588D03*
243 | G54D22*
244 | X2421Y298D03*
245 | X130Y303D03*
246 | X130Y2236D03*
247 | G54D10*
248 | X399Y248D03*
249 | X318Y498D03*
250 | X337Y1489D03*
251 | X729Y209D03*
252 | G54D23*
253 | X1784Y168D03*
254 | X506Y138D03*
255 | X936Y138D03*
256 | G54D24*
257 | X2459Y1389D03*
258 | X2459Y1488D03*
259 | X2558Y1389D03*
260 | X2558Y1488D03*
261 | X2359Y1389D03*
262 | X2259Y1389D03*
263 | X2159Y1389D03*
264 | X2059Y1389D03*
265 | X1959Y1389D03*
266 | X1959Y1488D03*
267 | X2059Y1488D03*
268 | X2159Y1488D03*
269 | X2259Y1488D03*
270 | X2359Y1488D03*
271 | X2459Y2189D03*
272 | X2459Y2288D03*
273 | X2558Y2189D03*
274 | X2558Y2288D03*
275 | X2359Y2189D03*
276 | X2259Y2189D03*
277 | X2159Y2189D03*
278 | X2059Y2189D03*
279 | X1959Y2189D03*
280 | X1959Y2288D03*
281 | X2059Y2288D03*
282 | X2159Y2288D03*
283 | X2259Y2288D03*
284 | X2359Y2288D03*
285 | G54D23*
286 | X958Y2588D03*
287 | X958Y2588D03*
288 | G54D25*
289 | X948Y2349D03*
290 | X948Y2349D03*
291 | G54D26*
292 | X158Y2588D03*
293 | G04 End of Mask0*
294 | M02*
--------------------------------------------------------------------------------
/Hardware/2_AMIS_Drives/Teensy4/Gerber4/AMIS30543_Teensy_4_maskTop.gts:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10C,0.049370*%
12 | %ADD11C,0.080000*%
13 | %ADD12C,0.128110*%
14 | %ADD13C,0.090000*%
15 | %ADD14C,0.167480*%
16 | %ADD15C,0.084000*%
17 | %ADD16C,0.138000*%
18 | %ADD17C,0.089370*%
19 | %ADD18C,0.076889*%
20 | %ADD19C,0.092000*%
21 | %ADD20C,0.088000*%
22 | %ADD21C,0.109055*%
23 | %ADD22C,0.135984*%
24 | %ADD23R,0.090000X0.090000*%
25 | %ADD24R,0.092000X0.092000*%
26 | %ADD25R,0.109055X0.109055*%
27 | %LNMASK1*%
28 | G90*
29 | G70*
30 | G54D10*
31 | X1889Y228D03*
32 | X1898Y920D03*
33 | X1819Y518D03*
34 | X1708Y348D03*
35 | G54D11*
36 | X2058Y118D03*
37 | X2058Y218D03*
38 | X2058Y318D03*
39 | X2058Y418D03*
40 | X2058Y518D03*
41 | X2058Y618D03*
42 | X2058Y718D03*
43 | X2058Y818D03*
44 | X2058Y918D03*
45 | G54D12*
46 | X3214Y918D03*
47 | X3214Y118D03*
48 | G54D13*
49 | X1784Y168D03*
50 | X1646Y168D03*
51 | X1508Y168D03*
52 | X1370Y168D03*
53 | G54D10*
54 | X1679Y2409D03*
55 | X3058Y2718D03*
56 | X1957Y2648D03*
57 | X1758Y2108D03*
58 | X1798Y2388D03*
59 | X1719Y2249D03*
60 | X1619Y2088D03*
61 | X1758Y1988D03*
62 | X1638Y1668D03*
63 | X1719Y1729D03*
64 | X1619Y1849D03*
65 | X2958Y2508D03*
66 | X1758Y1869D03*
67 | X1818Y1869D03*
68 | X2958Y1438D03*
69 | X758Y1048D03*
70 | X2758Y1398D03*
71 | X1458Y1208D03*
72 | X1458Y1089D03*
73 | X1458Y1009D03*
74 | X1789Y1278D03*
75 | X1789Y1588D03*
76 | X1607Y1089D03*
77 | X1508Y1128D03*
78 | X658Y1888D03*
79 | X1428Y538D03*
80 | X1339Y497D03*
81 | X657Y1599D03*
82 | X1329Y1360D03*
83 | X1758Y1688D03*
84 | X2678Y1610D03*
85 | X3118Y1610D03*
86 | X1977Y1688D03*
87 | X1118Y1368D03*
88 | G54D14*
89 | X948Y2348D03*
90 | X948Y1978D03*
91 | G54D10*
92 | X1798Y1949D03*
93 | X1798Y2229D03*
94 | X1637Y1788D03*
95 | X1779Y1808D03*
96 | X679Y2587D03*
97 | X947Y2118D03*
98 | G54D15*
99 | X458Y1839D03*
100 | X358Y1789D03*
101 | X458Y1739D03*
102 | X358Y1689D03*
103 | X458Y1639D03*
104 | X358Y1589D03*
105 | G54D16*
106 | X108Y1914D03*
107 | X108Y1514D03*
108 | G54D15*
109 | X458Y1839D03*
110 | X358Y1789D03*
111 | X458Y1739D03*
112 | X358Y1689D03*
113 | X458Y1639D03*
114 | X358Y1589D03*
115 | G54D16*
116 | X108Y1914D03*
117 | X108Y1514D03*
118 | G54D13*
119 | X506Y138D03*
120 | X368Y138D03*
121 | X936Y138D03*
122 | X798Y138D03*
123 | X660Y138D03*
124 | G54D17*
125 | X858Y388D03*
126 | X958Y388D03*
127 | X1058Y388D03*
128 | X1158Y388D03*
129 | X658Y2288D03*
130 | X658Y2188D03*
131 | X658Y2088D03*
132 | X658Y1988D03*
133 | G54D18*
134 | X1858Y1189D03*
135 | X1958Y1189D03*
136 | X2058Y1189D03*
137 | X2158Y1189D03*
138 | X2258Y1189D03*
139 | X2358Y1189D03*
140 | X2458Y1189D03*
141 | X2558Y1189D03*
142 | X2658Y1189D03*
143 | X2758Y1189D03*
144 | X2858Y1189D03*
145 | X2958Y1189D03*
146 | X3058Y1189D03*
147 | X3158Y1189D03*
148 | X3058Y1289D03*
149 | X1858Y1789D03*
150 | X1958Y1789D03*
151 | X2058Y1789D03*
152 | X2158Y1789D03*
153 | X2258Y1789D03*
154 | X2358Y1789D03*
155 | X2458Y1789D03*
156 | X2558Y1789D03*
157 | X2658Y1789D03*
158 | X2758Y1789D03*
159 | X2858Y1789D03*
160 | X2958Y1789D03*
161 | X3058Y1789D03*
162 | X3158Y1789D03*
163 | X2758Y1289D03*
164 | X2858Y1289D03*
165 | X2658Y1289D03*
166 | X1858Y1589D03*
167 | X1858Y1689D03*
168 | X1858Y1489D03*
169 | X1858Y1289D03*
170 | X1858Y1389D03*
171 | X1858Y1989D03*
172 | X1958Y1989D03*
173 | X2058Y1989D03*
174 | X2158Y1989D03*
175 | X2258Y1989D03*
176 | X2358Y1989D03*
177 | X2458Y1989D03*
178 | X2558Y1989D03*
179 | X2658Y1989D03*
180 | X2758Y1989D03*
181 | X2858Y1989D03*
182 | X2958Y1989D03*
183 | X3058Y1989D03*
184 | X3158Y1989D03*
185 | X3058Y2089D03*
186 | X1858Y2589D03*
187 | X1958Y2589D03*
188 | X2058Y2589D03*
189 | X2158Y2589D03*
190 | X2258Y2589D03*
191 | X2358Y2589D03*
192 | X2458Y2589D03*
193 | X2558Y2589D03*
194 | X2658Y2589D03*
195 | X2758Y2589D03*
196 | X2858Y2589D03*
197 | X2958Y2589D03*
198 | X3058Y2589D03*
199 | X3158Y2589D03*
200 | X2758Y2089D03*
201 | X2858Y2089D03*
202 | X2658Y2089D03*
203 | X1858Y2389D03*
204 | X1858Y2489D03*
205 | X1858Y2289D03*
206 | X1858Y2089D03*
207 | X1858Y2189D03*
208 | G54D13*
209 | X958Y2588D03*
210 | X820Y2588D03*
211 | X958Y2588D03*
212 | X820Y2588D03*
213 | G54D19*
214 | X948Y2348D03*
215 | X948Y1981D03*
216 | X948Y2348D03*
217 | X948Y1981D03*
218 | G54D20*
219 | X558Y1278D03*
220 | X658Y1278D03*
221 | X758Y1278D03*
222 | X858Y1278D03*
223 | X958Y1278D03*
224 | X1058Y1278D03*
225 | X1158Y1278D03*
226 | X1258Y1278D03*
227 | X1358Y1278D03*
228 | X1458Y1278D03*
229 | X1558Y1278D03*
230 | X1548Y2588D03*
231 | X1548Y2488D03*
232 | X1548Y2388D03*
233 | X1548Y2288D03*
234 | X1548Y2188D03*
235 | X1548Y2088D03*
236 | X1548Y1988D03*
237 | X1548Y1888D03*
238 | X1548Y1788D03*
239 | X1548Y1688D03*
240 | X1548Y1588D03*
241 | X1358Y388D03*
242 | X1458Y388D03*
243 | X658Y1788D03*
244 | X658Y1688D03*
245 | X1658Y1278D03*
246 | X1658Y1178D03*
247 | X1548Y1488D03*
248 | X1448Y1488D03*
249 | G54D21*
250 | X158Y2588D03*
251 | X296Y2588D03*
252 | G54D22*
253 | X2421Y298D03*
254 | X130Y303D03*
255 | X130Y2236D03*
256 | G54D10*
257 | X399Y248D03*
258 | X318Y498D03*
259 | X337Y1489D03*
260 | X729Y209D03*
261 | G54D23*
262 | X1784Y168D03*
263 | X506Y138D03*
264 | X936Y138D03*
265 | X958Y2588D03*
266 | X958Y2588D03*
267 | G54D24*
268 | X948Y2349D03*
269 | X948Y2349D03*
270 | G54D25*
271 | X158Y2588D03*
272 | G04 End of Mask1*
273 | M02*
--------------------------------------------------------------------------------
/Hardware/2_AMIS_Drives/Teensy4/Gerber4/AMIS30543_Teensy_4_pnp.txt:
--------------------------------------------------------------------------------
1 | *Pick And Place List
2 | *Company=
3 | *Author=
4 | *eMail=
5 | *
6 | *Project=AMIS30543_Teensy_4
7 | *Date=21:40:39
8 | *CreatedBy=Fritzing 0.9.10b.2022-07-01.CD-2134-0-40d23c29
9 | *
10 | *
11 | *Coordinates in mm, always center of component
12 | *Origin 0/0=Lower left corner of PCB
13 | *Rotation in degree (0-360, math. pos.)
14 | *
15 | *No;Value;Package;X;Y;Rotation;Side;Name
16 | 1;;;3.29955;-56.7978;0;Bottom;Hole17
17 | 2;;;38.3028;-28.6624;0;Bottom;Via29
18 | 3;;;17.2499;-65.721;0;Bottom;Via48
19 | 4;;;45.6575;-60.6636;0;Bottom;Via6
20 | 5;;THT;22.7099;-66.2545;90;Bottom;Fuse
21 | 6;;;43.3828;-8.85044;0;Bottom;Via53
22 | 7;;;77.6728;-69.0484;0;Bottom;Via2
23 | 8;;;44.6545;-53.5403;0;Bottom;Via5
24 | 9;;;49.7136;-67.2535;0;Bottom;Via3
25 | 10;;;34.0156;-12.6294;0;Bottom;Via32
26 | 11;;;75.1246;-63.6919;0;Bottom;Via14
27 | 12;;THT;35.7629;-9.86691;-90;Bottom;VMOT/GND1
28 | 13;;;67.2032;-13.168;90;Bottom;GPS Friend
29 | 14;;;68.0265;-40.8883;0;Bottom;Via36
30 | 15;;;64.2001;-37.8002;180;Bottom;Teensy 4
31 | 16;;;16.69;-40.6117;0;Bottom;Via33
32 | 17;;;28.39;-34.7359;0;Bottom;Via41
33 | 18;;;37.0424;-27.6493;0;Bottom;Via24
34 | 19;;THT;42.1129;-31.2029;0;Bottom;VD(Out)/IORef1
35 | 20;;;25.5802;-15.1674;0;Bottom;TXT2
36 | 21;;THT;16.7129;-54.3169;0;Bottom;AA'BB'
37 | 22;;;42.6589;-61.1801;0;Bottom;Via1
38 | 23;;;43.6515;-43.9137;0;Bottom;Via11
39 | 24;;THT;11.2239;-3.00891;90;Bottom;COM/W
40 | 25;;;41.6122;-42.3756;0;Bottom;Via10
41 | 26;;;45.4351;-32.4583;0;Bottom;Via26
42 | 27;;;44.6624;-47.4697;0;Bottom;Via15
43 | 28;;THT;24.0789;-59.6509;0;Bottom;.
44 | 29;;rj11-6;5.34642;-43.5233;90;Bottom;ST4
45 | 30;;THT;16.7129;-44.1569;0;Bottom;GND/VMOT
46 | 31;;;50.2276;-42.8695;0;Bottom;Via40
47 | 32;;;24.0788;-54.9958;-90;Bottom;D1
48 | 33;;;10.1304;-6.30801;0;Bottom;Via54
49 | 34;;;48.2111;-23.3651;0;Bottom;Via51
50 | 35;;;47.9701;-5.78551;0;Bottom;Via50
51 | 36;;;41.1109;-53.0408;0;Bottom;Via8
52 | 37;;;19.2452;-26.6276;0;Bottom;Via21
53 | 38;;;75.1328;-36.5364;0;Bottom;Via18
54 | 39;;;37.0424;-25.6257;0;Bottom;Via25
55 | 40;;;79.1996;-40.8883;0;Bottom;Via37
56 | 41;;;16.7086;-47.9664;0;Bottom;Via30
57 | 42;;;43.6577;-57.1217;0;Bottom;Via7
58 | 43;;;45.4351;-40.3436;0;Bottom;Via27
59 | 44;;;8.0887;-12.6426;0;Bottom;Via55
60 | 45;;THT;24.0789;-50.2529;0;Bottom;.
61 | 46;;;8.55987;-37.8241;0;Bottom;Via56
62 | 47;;THT;38.0489;-37.8069;90;Bottom;VD(Out)/IORef
63 | 48;;;44.6548;-42.8752;0;Bottom;Via35
64 | 49;;;3.29955;-7.68835;0;Bottom;Hole16
65 | 50;;;45.1746;-45.9344;0;Bottom;Via45
66 | 51;;;46.1669;-47.4697;0;Bottom;Via16
67 | 52;;;45.6575;-49.4961;0;Bottom;Via42
68 | 53;;;64.2001;-58.1202;180;Bottom;Teensy 4
69 | 54;;;61.4957;-7.56417;0;Bottom;Hole15
70 | 55;;;37.0328;-30.6944;0;Bottom;Via23
71 | 56;;;36.2708;-13.6764;0;Bottom;Via31
72 | 57;;;18.5068;-5.31331;0;Bottom;Via57
73 | 58;;;41.5896;-45.4208;0;Bottom;Via44
74 | 59;;;40.8239;-27.6606;0;Bottom;Via28
75 | 60;;;24.054;-53.7972;0;Bottom;Via49
76 | 61;;THT;20.3959;-3.00891;90;Bottom;S/N/E
77 | 62;;THT;5.63598;-66.2545;-90;Bottom;GND/+
78 | 63;;;45.6575;-56.6166;0;Bottom;Via43
79 | 64;;;46.2042;-13.1684;0;Bottom;Via52
80 | 65;;;33.7542;-34.5327;0;Bottom;Via34
81 | 66;;THT;39.3189;-53.0469;0;Bottom;AMIS 30543
82 | 67;;;70.0528;-35.5204;0;Bottom;Via22
83 | 68;;;41.1109;-46.9561;0;Bottom;Via12
84 | 69;;THT;40.18;-3.77004;90;Bottom;GPS Rx/Tx/GND/Vin
85 | 70;;THT;26.8729;-32.4729;-90;Bottom;AMIS 30544
86 | 71;;THT;25.6029;-9.86691;-90;Bottom;AA'BB'
87 | 72;;;44.6545;-50.5008;0;Bottom;Via9
88 |
--------------------------------------------------------------------------------
/Hardware/2_AMIS_Drives/Teensy4/StepperCommunicationsProtocol.txt:
--------------------------------------------------------------------------------
1 | Communications protocol for the Stepper Drivers of TSC
2 | W. Birkfellner, Aug. 2021, V. 0.1
3 |
4 | The stepperboards communicate via USB between the host computer and
5 | the Teensy 4.0 running the steppers with the AccelStepper library.
6 | so far the commands are transmitted as characters, following the convention:
7 | xyzzzzzz...
8 | where x is a character denoting the action to be taken, y is a number between
9 | 0 and 1, and zzzzzz... is a string of bytes that is converted to a long integer.
10 |
11 | An example:
12 | "a1200" sets the acceleration (denoted by 'a') of the second drive ('1' instead
13 | of '0') to 200 microsteps per second.
14 |
15 | Commands that apply to all drives (such as the request for the drive state) are given without additional bytes
16 |
17 | In general, parameters have to be set, then the drive is enabled, and then ist should start.
18 | Once a motion is finished, the drive is being automatically disabled.
19 |
20 | Command set:
21 | 0x06 or ... responds with an identifier for the drive addressed. Replies are either "TSC_DE" or "TSC_RA". No further parameters are given.
22 | a ... sets acceleration in msteps/(s*s)
23 | c ... sets current
24 | e ... enables the drive; it is automatically activated when an "start drive" command (= 'o') is sent
25 | f ... reports drive conditions. Possible parameters are
26 | 0 = is drive moving
27 | 1 = error on AMIS board reported
28 | 2 = error on SPI settings
29 | 5 = steps carried out so far
30 | 6 = microstepping ratio
31 | 7 = maximum speed in msteps/s
32 | 8 = acceleration in msteps/(s*s)
33 | 9 = maximum current per coil in milliAmpere
34 | 10 = number of steps set
35 | m ... sets microstepping mode for a given drive: 1, 2, 4, 8, 16, 32, 64 and 128 are permitted
36 | o ... engages the drive to carry out a defined number of microsteps
37 | r ... resets the AMIS via its CLR pin
38 | s ... sets the number of steps to be carried out
39 | v ... sets maximum speed in msteps/s
40 | x ... stops drive
41 | z ... sets position of stepper to zero
42 |
43 |
--------------------------------------------------------------------------------
/Hardware/3_TCP_Handbox/TCP_Handbox_AdafruitFeather/TCP_Handbox.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/3_TCP_Handbox/TCP_Handbox_AdafruitFeather/TCP_Handbox.fzz
--------------------------------------------------------------------------------
/Hardware/3_TCP_Handbox/TCP_Handbox_AdafruitFeather/TCP_Handbox_Drilling_Template.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/3_TCP_Handbox/TCP_Handbox_AdafruitFeather/TCP_Handbox_Drilling_Template.pdf
--------------------------------------------------------------------------------
/Hardware/3_TCP_Handbox/TCP_Handbox_AdafruitFeather/TCP_Handbox_Faceplate.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/3_TCP_Handbox/TCP_Handbox_AdafruitFeather/TCP_Handbox_Faceplate.pdf
--------------------------------------------------------------------------------
/Hardware/3_TCP_Handbox/TCP_Handbox_LOLIND32Pro/Gerber/TCP_Handbox_contour.gm1:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10R,2.755910X2.755910*%
12 | %ADD11C,0.008000*%
13 | %ADD10C,0.008*%
14 | %LNCONTOUR*%
15 | G90*
16 | G70*
17 | G54D10*
18 | G54D11*
19 | X4Y2752D02*
20 | X2752Y2752D01*
21 | X2752Y4D01*
22 | X4Y4D01*
23 | X4Y2752D01*
24 | D02*
25 | G04 End of contour*
26 | M02*
--------------------------------------------------------------------------------
/Hardware/3_TCP_Handbox/TCP_Handbox_LOLIND32Pro/Gerber/TCP_Handbox_drill.txt:
--------------------------------------------------------------------------------
1 | ; NON-PLATED HOLES START AT T1
2 | ; THROUGH (PLATED) HOLES START AT T100
3 | M48
4 | INCH
5 | T1C0.129921
6 | T100C0.047244
7 | T101C0.015748
8 | T102C0.035000
9 | T103C0.042000
10 | T104C0.038000
11 | T105C0.040000
12 | %
13 | T1
14 | X012733Y023045
15 | X002497Y023045
16 | X012733Y009659
17 | X026316Y000998
18 | X012733Y000998
19 | X002497Y009659
20 | X002497Y000998
21 | T100
22 | X010568Y008085
23 | X000922Y013596
24 | X005844Y015565
25 | X000922Y015565
26 | X005647Y021077
27 | X015293Y013596
28 | X010371Y013596
29 | X015293Y015565
30 | X005647Y019108
31 | X010568Y021077
32 | X010371Y015565
33 | X005647Y010053
34 | X010568Y019108
35 | X005647Y008085
36 | X010568Y010053
37 | X005844Y013596
38 | T101
39 | X009589Y010456
40 | X024940Y022646
41 | X003481Y004153
42 | X016265Y011421
43 | X016271Y019892
44 | X006429Y003944
45 | X008017Y010050
46 | X015881Y004938
47 | X022375Y006510
48 | X015889Y019303
49 | X016265Y017923
50 | X019421Y005127
51 | X022375Y004938
52 | X015099Y020285
53 | X007022Y005130
54 | X004458Y016348
55 | X012533Y020490
56 | X016670Y010643
57 | X009587Y016558
58 | X001702Y004153
59 | X005051Y008079
60 | X024940Y020099
61 | X015889Y024625
62 | X024154Y007494
63 | X021594Y007108
64 | X013914Y004537
65 | X005051Y005130
66 | X003673Y008079
67 | X015889Y020484
68 | X021594Y019511
69 | X024940Y023439
70 | X026306Y007111
71 | X008601Y022455
72 | X015096Y024417
73 | X008209Y019105
74 | X025536Y017528
75 | X024733Y005910
76 | X016670Y007486
77 | X006429Y019105
78 | X021594Y020691
79 | X022188Y018514
80 | X006429Y010050
81 | X009978Y022455
82 | X025724Y021665
83 | X013920Y024419
84 | X011348Y019886
85 | X010381Y004349
86 | X013721Y020872
87 | X016670Y022646
88 | X008209Y016558
89 | T102
90 | X024298Y004833
91 | X023298Y004833
92 | X007222Y016171
93 | X017798Y004833
94 | X004466Y005132
95 | X009548Y005083
96 | X011552Y008297
97 | X011946Y019108
98 | X020048Y004833
99 | X011946Y021683
100 | X014798Y005083
101 | X007222Y015171
102 | X004466Y004132
103 | X009548Y004083
104 | X016798Y004833
105 | X011552Y007297
106 | X011946Y018108
107 | X011946Y020683
108 | X021048Y004833
109 | X014798Y004083
110 | T103
111 | X022182Y011431
112 | X025162Y011431
113 | T104
114 | X017496Y023639
115 | X017496Y012644
116 | X019820Y001360
117 | X017496Y017644
118 | X026496Y022644
119 | X026496Y025639
120 | X026496Y014644
121 | X017496Y010644
122 | X026496Y019644
123 | X022970Y003360
124 | X016670Y003360
125 | X017496Y015644
126 | X026496Y020644
127 | X026496Y023639
128 | X026496Y012644
129 | X017496Y021644
130 | X026496Y017644
131 | X022970Y001360
132 | X016670Y001360
133 | X017496Y024639
134 | X017496Y013644
135 | X019820Y002360
136 | X017496Y018644
137 | X026492Y010646
138 | X026496Y015644
139 | X017496Y011644
140 | X017496Y016644
141 | X026496Y021644
142 | X026496Y024639
143 | X026496Y013644
144 | X017496Y022644
145 | X026496Y018644
146 | X022970Y002360
147 | X016670Y002360
148 | X017496Y025639
149 | X017496Y014644
150 | X019820Y003360
151 | X017496Y019644
152 | X017496Y020644
153 | X026492Y011646
154 | X026496Y016644
155 | T105
156 | X011920Y025833
157 | X011518Y005833
158 | X013298Y025833
159 | X009164Y025833
160 | X011518Y003273
161 | X008166Y005841
162 | X010542Y025833
163 | X003048Y005833
164 | X006386Y005841
165 | X008166Y003281
166 | X001268Y005833
167 | X003048Y003273
168 | X006386Y003281
169 | X001268Y003273
170 | X026316Y003754
171 | X013298Y005833
172 | X013298Y003273
173 | X026316Y005132
174 | T00
175 | M30
176 |
--------------------------------------------------------------------------------
/Hardware/3_TCP_Handbox/TCP_Handbox_LOLIND32Pro/Gerber/TCP_Handbox_maskBottom.gbs:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10C,0.090000*%
12 | %ADD11C,0.088000*%
13 | %ADD12C,0.049370*%
14 | %ADD13C,0.092000*%
15 | %ADD14C,0.085000*%
16 | %ADD15C,0.095000*%
17 | %ADD16C,0.084000*%
18 | %ADD17C,0.139921*%
19 | %ADD18R,0.090000X0.090000*%
20 | %ADD19R,0.088000X0.088000*%
21 | %ADD20R,0.092000X0.092000*%
22 | %LNMASK0*%
23 | G90*
24 | G70*
25 | G54D10*
26 | X2632Y513D03*
27 | X2632Y375D03*
28 | G54D11*
29 | X2649Y1065D03*
30 | X1750Y1064D03*
31 | X2649Y1165D03*
32 | X1750Y1164D03*
33 | X2650Y1264D03*
34 | X1750Y1264D03*
35 | X2650Y1364D03*
36 | X1750Y1364D03*
37 | X2650Y1464D03*
38 | X1750Y1464D03*
39 | X2650Y1564D03*
40 | X1750Y1564D03*
41 | X2650Y1664D03*
42 | X1750Y1664D03*
43 | X2650Y1764D03*
44 | X1750Y1764D03*
45 | X2650Y1864D03*
46 | X1750Y1864D03*
47 | X2650Y1964D03*
48 | X1750Y1964D03*
49 | X2650Y2064D03*
50 | X1750Y2064D03*
51 | X2650Y2164D03*
52 | X1750Y2164D03*
53 | X2650Y2264D03*
54 | X1750Y2264D03*
55 | X2650Y2364D03*
56 | X2650Y2464D03*
57 | X2650Y2564D03*
58 | X1750Y2364D03*
59 | X1750Y2464D03*
60 | X1750Y2564D03*
61 | X1667Y336D03*
62 | X1667Y236D03*
63 | X1667Y136D03*
64 | X1982Y336D03*
65 | X1982Y236D03*
66 | X1982Y136D03*
67 | X2297Y336D03*
68 | X2297Y236D03*
69 | X2297Y136D03*
70 | G54D12*
71 | X860Y2246D03*
72 | X998Y2246D03*
73 | X1135Y1989D03*
74 | X1627Y1989D03*
75 | X1510Y2029D03*
76 | X1253Y2049D03*
77 | X1392Y2442D03*
78 | X1510Y2442D03*
79 | X1372Y2087D03*
80 | X2572Y2167D03*
81 | X1589Y2463D03*
82 | X1589Y2048D03*
83 | X1589Y1930D03*
84 | X446Y1635D03*
85 | X367Y808D03*
86 | X505Y808D03*
87 | X348Y415D03*
88 | X170Y415D03*
89 | X821Y1911D03*
90 | X643Y1911D03*
91 | X821Y1656D03*
92 | X959Y1656D03*
93 | X643Y1005D03*
94 | X802Y1005D03*
95 | X643Y394D03*
96 | X505Y513D03*
97 | X702Y513D03*
98 | X1667Y2265D03*
99 | X1391Y454D03*
100 | X2494Y2010D03*
101 | X2494Y2265D03*
102 | X1667Y1064D03*
103 | X1667Y749D03*
104 | X2238Y651D03*
105 | X2238Y494D03*
106 | X1588Y494D03*
107 | X2554Y1753D03*
108 | X2415Y749D03*
109 | X1942Y513D03*
110 | X2159Y711D03*
111 | X2159Y2069D03*
112 | X2159Y1951D03*
113 | X2494Y2344D03*
114 | X2219Y1851D03*
115 | X2473Y591D03*
116 | G54D13*
117 | X2218Y1143D03*
118 | X2516Y1143D03*
119 | X2218Y1143D03*
120 | X2516Y1143D03*
121 | G54D12*
122 | X2631Y711D03*
123 | X1627Y1792D03*
124 | X1627Y1142D03*
125 | X959Y1046D03*
126 | X1038Y435D03*
127 | G54D10*
128 | X916Y2583D03*
129 | X1054Y2583D03*
130 | X1192Y2583D03*
131 | X1330Y2583D03*
132 | G54D14*
133 | X2105Y483D03*
134 | X2005Y483D03*
135 | X1195Y2068D03*
136 | X1195Y2168D03*
137 | X1195Y1911D03*
138 | X1195Y1811D03*
139 | X1155Y730D03*
140 | X1155Y830D03*
141 | X722Y1517D03*
142 | X722Y1617D03*
143 | X1480Y508D03*
144 | X1480Y408D03*
145 | X955Y508D03*
146 | X955Y408D03*
147 | X447Y513D03*
148 | X447Y413D03*
149 | X1780Y483D03*
150 | X1680Y483D03*
151 | X2430Y483D03*
152 | X2330Y483D03*
153 | G54D15*
154 | X1057Y1005D03*
155 | X1057Y809D03*
156 | X565Y809D03*
157 | X565Y1005D03*
158 | X1057Y1005D03*
159 | X1057Y809D03*
160 | X565Y809D03*
161 | X565Y1005D03*
162 | X1057Y1005D03*
163 | X1057Y809D03*
164 | X565Y809D03*
165 | X565Y1005D03*
166 | X1529Y1557D03*
167 | X1529Y1360D03*
168 | X1037Y1360D03*
169 | X1037Y1557D03*
170 | X1529Y1557D03*
171 | X1529Y1360D03*
172 | X1037Y1360D03*
173 | X1037Y1557D03*
174 | X1529Y1557D03*
175 | X1529Y1360D03*
176 | X1037Y1360D03*
177 | X1037Y1557D03*
178 | X584Y1557D03*
179 | X584Y1360D03*
180 | X92Y1360D03*
181 | X92Y1557D03*
182 | X584Y1557D03*
183 | X584Y1360D03*
184 | X92Y1360D03*
185 | X92Y1557D03*
186 | X584Y1557D03*
187 | X584Y1360D03*
188 | X92Y1360D03*
189 | X92Y1557D03*
190 | X1057Y2108D03*
191 | X1057Y1911D03*
192 | X565Y1911D03*
193 | X565Y2108D03*
194 | X1057Y2108D03*
195 | X1057Y1911D03*
196 | X565Y1911D03*
197 | X565Y2108D03*
198 | X1057Y2108D03*
199 | X1057Y1911D03*
200 | X565Y1911D03*
201 | X565Y2108D03*
202 | G54D16*
203 | X305Y327D03*
204 | X305Y583D03*
205 | X127Y327D03*
206 | X127Y583D03*
207 | X305Y327D03*
208 | X305Y583D03*
209 | X127Y327D03*
210 | X127Y583D03*
211 | X305Y327D03*
212 | X305Y583D03*
213 | X127Y327D03*
214 | X127Y583D03*
215 | X817Y328D03*
216 | X817Y584D03*
217 | X639Y328D03*
218 | X639Y584D03*
219 | X817Y328D03*
220 | X817Y584D03*
221 | X639Y328D03*
222 | X639Y584D03*
223 | X817Y328D03*
224 | X817Y584D03*
225 | X639Y328D03*
226 | X639Y584D03*
227 | X1330Y327D03*
228 | X1330Y583D03*
229 | X1152Y327D03*
230 | X1152Y583D03*
231 | X1330Y327D03*
232 | X1330Y583D03*
233 | X1152Y327D03*
234 | X1152Y583D03*
235 | X1330Y327D03*
236 | X1330Y583D03*
237 | X1152Y327D03*
238 | X1152Y583D03*
239 | G54D17*
240 | X2632Y100D03*
241 | X1273Y100D03*
242 | X250Y100D03*
243 | X1273Y966D03*
244 | X250Y966D03*
245 | X1273Y2305D03*
246 | X250Y2305D03*
247 | G54D18*
248 | X2632Y513D03*
249 | G54D19*
250 | X2649Y1065D03*
251 | G54D20*
252 | X2217Y1143D03*
253 | X2217Y1143D03*
254 | G54D18*
255 | X916Y2583D03*
256 | G04 End of Mask0*
257 | M02*
--------------------------------------------------------------------------------
/Hardware/3_TCP_Handbox/TCP_Handbox_LOLIND32Pro/Gerber/TCP_Handbox_maskTop.gts:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10C,0.090000*%
12 | %ADD11C,0.088000*%
13 | %ADD12C,0.049370*%
14 | %ADD13C,0.092000*%
15 | %ADD14C,0.085000*%
16 | %ADD15C,0.095000*%
17 | %ADD16C,0.084000*%
18 | %ADD17C,0.139921*%
19 | %ADD18R,0.090000X0.090000*%
20 | %ADD19R,0.088000X0.088000*%
21 | %ADD20R,0.092000X0.092000*%
22 | %LNMASK1*%
23 | G90*
24 | G70*
25 | G54D10*
26 | X2632Y513D03*
27 | X2632Y375D03*
28 | G54D11*
29 | X2649Y1065D03*
30 | X1750Y1064D03*
31 | X2649Y1165D03*
32 | X1750Y1164D03*
33 | X2650Y1264D03*
34 | X1750Y1264D03*
35 | X2650Y1364D03*
36 | X1750Y1364D03*
37 | X2650Y1464D03*
38 | X1750Y1464D03*
39 | X2650Y1564D03*
40 | X1750Y1564D03*
41 | X2650Y1664D03*
42 | X1750Y1664D03*
43 | X2650Y1764D03*
44 | X1750Y1764D03*
45 | X2650Y1864D03*
46 | X1750Y1864D03*
47 | X2650Y1964D03*
48 | X1750Y1964D03*
49 | X2650Y2064D03*
50 | X1750Y2064D03*
51 | X2650Y2164D03*
52 | X1750Y2164D03*
53 | X2650Y2264D03*
54 | X1750Y2264D03*
55 | X2650Y2364D03*
56 | X2650Y2464D03*
57 | X2650Y2564D03*
58 | X1750Y2364D03*
59 | X1750Y2464D03*
60 | X1750Y2564D03*
61 | X1667Y336D03*
62 | X1667Y236D03*
63 | X1667Y136D03*
64 | X1982Y336D03*
65 | X1982Y236D03*
66 | X1982Y136D03*
67 | X2297Y336D03*
68 | X2297Y236D03*
69 | X2297Y136D03*
70 | G54D12*
71 | X860Y2246D03*
72 | X998Y2246D03*
73 | X1135Y1989D03*
74 | X1627Y1989D03*
75 | X1510Y2029D03*
76 | X1253Y2049D03*
77 | X1392Y2442D03*
78 | X1510Y2442D03*
79 | X1372Y2087D03*
80 | X2572Y2167D03*
81 | X1589Y2463D03*
82 | X1589Y2048D03*
83 | X1589Y1930D03*
84 | X446Y1635D03*
85 | X367Y808D03*
86 | X505Y808D03*
87 | X348Y415D03*
88 | X170Y415D03*
89 | X821Y1911D03*
90 | X643Y1911D03*
91 | X821Y1656D03*
92 | X959Y1656D03*
93 | X643Y1005D03*
94 | X802Y1005D03*
95 | X643Y394D03*
96 | X505Y513D03*
97 | X702Y513D03*
98 | X1667Y2265D03*
99 | X1391Y454D03*
100 | X2494Y2010D03*
101 | X2494Y2265D03*
102 | X1667Y1064D03*
103 | X1667Y749D03*
104 | X2238Y651D03*
105 | X2238Y494D03*
106 | X1588Y494D03*
107 | X2554Y1753D03*
108 | X2415Y749D03*
109 | X1942Y513D03*
110 | X2159Y711D03*
111 | X2159Y2069D03*
112 | X2159Y1951D03*
113 | X2494Y2344D03*
114 | X2219Y1851D03*
115 | X2473Y591D03*
116 | G54D13*
117 | X2218Y1143D03*
118 | X2516Y1143D03*
119 | X2218Y1143D03*
120 | X2516Y1143D03*
121 | G54D12*
122 | X2631Y711D03*
123 | X1627Y1792D03*
124 | X1627Y1142D03*
125 | X959Y1046D03*
126 | X1038Y435D03*
127 | G54D10*
128 | X916Y2583D03*
129 | X1054Y2583D03*
130 | X1192Y2583D03*
131 | X1330Y2583D03*
132 | G54D14*
133 | X2105Y483D03*
134 | X2005Y483D03*
135 | X1195Y2068D03*
136 | X1195Y2168D03*
137 | X1195Y1911D03*
138 | X1195Y1811D03*
139 | X1155Y730D03*
140 | X1155Y830D03*
141 | X722Y1517D03*
142 | X722Y1617D03*
143 | X1480Y508D03*
144 | X1480Y408D03*
145 | X955Y508D03*
146 | X955Y408D03*
147 | X447Y513D03*
148 | X447Y413D03*
149 | X1780Y483D03*
150 | X1680Y483D03*
151 | X2430Y483D03*
152 | X2330Y483D03*
153 | G54D15*
154 | X1057Y1005D03*
155 | X1057Y809D03*
156 | X565Y809D03*
157 | X565Y1005D03*
158 | X1057Y1005D03*
159 | X1057Y809D03*
160 | X565Y809D03*
161 | X565Y1005D03*
162 | X1057Y1005D03*
163 | X1057Y809D03*
164 | X565Y809D03*
165 | X565Y1005D03*
166 | X1529Y1557D03*
167 | X1529Y1360D03*
168 | X1037Y1360D03*
169 | X1037Y1557D03*
170 | X1529Y1557D03*
171 | X1529Y1360D03*
172 | X1037Y1360D03*
173 | X1037Y1557D03*
174 | X1529Y1557D03*
175 | X1529Y1360D03*
176 | X1037Y1360D03*
177 | X1037Y1557D03*
178 | X584Y1557D03*
179 | X584Y1360D03*
180 | X92Y1360D03*
181 | X92Y1557D03*
182 | X584Y1557D03*
183 | X584Y1360D03*
184 | X92Y1360D03*
185 | X92Y1557D03*
186 | X584Y1557D03*
187 | X584Y1360D03*
188 | X92Y1360D03*
189 | X92Y1557D03*
190 | X1057Y2108D03*
191 | X1057Y1911D03*
192 | X565Y1911D03*
193 | X565Y2108D03*
194 | X1057Y2108D03*
195 | X1057Y1911D03*
196 | X565Y1911D03*
197 | X565Y2108D03*
198 | X1057Y2108D03*
199 | X1057Y1911D03*
200 | X565Y1911D03*
201 | X565Y2108D03*
202 | G54D16*
203 | X305Y327D03*
204 | X305Y583D03*
205 | X127Y327D03*
206 | X127Y583D03*
207 | X305Y327D03*
208 | X305Y583D03*
209 | X127Y327D03*
210 | X127Y583D03*
211 | X305Y327D03*
212 | X305Y583D03*
213 | X127Y327D03*
214 | X127Y583D03*
215 | X817Y328D03*
216 | X817Y584D03*
217 | X639Y328D03*
218 | X639Y584D03*
219 | X817Y328D03*
220 | X817Y584D03*
221 | X639Y328D03*
222 | X639Y584D03*
223 | X817Y328D03*
224 | X817Y584D03*
225 | X639Y328D03*
226 | X639Y584D03*
227 | X1330Y327D03*
228 | X1330Y583D03*
229 | X1152Y327D03*
230 | X1152Y583D03*
231 | X1330Y327D03*
232 | X1330Y583D03*
233 | X1152Y327D03*
234 | X1152Y583D03*
235 | X1330Y327D03*
236 | X1330Y583D03*
237 | X1152Y327D03*
238 | X1152Y583D03*
239 | G54D17*
240 | X2632Y100D03*
241 | X1273Y100D03*
242 | X250Y100D03*
243 | X1273Y966D03*
244 | X250Y966D03*
245 | X1273Y2305D03*
246 | X250Y2305D03*
247 | G54D18*
248 | X2632Y513D03*
249 | G54D19*
250 | X2649Y1065D03*
251 | G54D20*
252 | X2217Y1143D03*
253 | X2217Y1143D03*
254 | G54D18*
255 | X916Y2583D03*
256 | G04 End of Mask1*
257 | M02*
--------------------------------------------------------------------------------
/Hardware/3_TCP_Handbox/TCP_Handbox_LOLIND32Pro/Gerber/TCP_Handbox_pnp.txt:
--------------------------------------------------------------------------------
1 | *Pick And Place List
2 | *Company=
3 | *Author=
4 | *eMail=
5 | *
6 | *Project=TCP_Handbox
7 | *Date=23:53:16
8 | *CreatedBy=Fritzing 0.9.3b.04.19.5c895d327c44a3114e5fcc9d8260daf0cbb52806
9 | *
10 | *
11 | *Coordinates in mm, always center of component
12 | *Origin 0/0=Lower left corner of PCB
13 | *Rotation in degree (0-360, math. pos.)
14 | *
15 | *No;Value;Package;X;Y;Rotation;Side;Name
16 | 1;;;54.8498;-52.5567;0;Bottom;Via42
17 | 2;;;61.3525;-19.0359;0;Bottom;Via38
18 | 3;;;40.3591;-52.031;0;Bottom;Via12
19 | 4;;;12.8312;-20.5215;0;Bottom;Via16
20 | 5;;;41.3148;-29.0097;0;Bottom;Via49
21 | 6;10k;THT;18.3439;-39.4885;-90;Bottom;R4
22 | 7;;;41.3303;-50.5256;0;Bottom;Via4
23 | 8;10k;THT;30.344;-53.4885;-90;Bottom;R1
24 | 9;10k;THT;44.2565;-12.276;180;Bottom;R10
25 | 10;;;26.368;-11.0482;0;Bottom;Via51
26 | 11;;;63.3478;-57.5228;0;Bottom;Via31
27 | 12;;tactile-pth;18.4834;-11.5871;90;Bottom;F/5
28 | 13;;tactile-pth;5.48335;-11.5648;90;Bottom;F/20
29 | 14;;;24.3583;-26.5603;0;Bottom;Via50
30 | 15;10k;THT;60.7665;-12.276;180;Bottom;R8
31 | 16;;;42.3435;-19.015;0;Bottom;Via33
32 | 17;;;38.3528;-51.5258;0;Bottom;Via5
33 | 18;;;24.3526;-42.0576;0;Bottom;Via22
34 | 19;;;65.34;-55.0304;0;Bottom;Via10
35 | 20;10k;THT;29.3438;-19.4885;-90;Bottom;R3
36 | 21;;THT;67.3518;-11.4131;0;Bottom;BAT +/GND
37 | 22;10k;THT;52.5115;-12.276;180;Bottom;R9
38 | 23;;;66.844;-2.53614;0;Bottom;Hole9
39 | 24;;;38.3438;-62.0208;0;Bottom;Via8
40 | 25;;;20.3643;-25.529;0;Bottom;Via24
41 | 26;;;42.3435;-27.0355;0;Bottom;Via32
42 | 27;;;16.3319;-10.0195;0;Bottom;Via25
43 | 28;;;20.8517;-42.0576;0;Bottom;Via21
44 | 29;;;54.8498;-18.0563;0;Bottom;Via41
45 | 30;;;17.8384;-13.0328;0;Bottom;Via27
46 | 31;;;10.071;-65.5019;0;Bottom;TXT2
47 | 32;10k;THT;24.254;-11.9585;90;Bottom;R6
48 | 33;;;35.3582;-62.0258;0;Bottom;Via7
49 | 34;;tactile-pth-12mm;8.59394;-37.036;0;Bottom;W
50 | 35;;;63.3478;-51.0531;0;Bottom;Via30
51 | 36;;;11.3245;-41.5259;0;Bottom;Via14
52 | 37;;;32.344;-2.53614;0;Bottom;Hole8
53 | 38;;;62.8232;-15.0134;0;Bottom;Via46
54 | 39;;THT;28.4021;-66.124;-90;Bottom;3.3V/GND/SCL/SDA
55 | 40;;;32.344;-24.5359;0;Bottom;Hole6
56 | 41;;;12.8312;-13.0328;0;Bottom;Via26
57 | 42;;;56.8325;-16.5354;0;Bottom;Via34
58 | 43;;;55.8719;-53.7599;180;Bottom;WEMOS Lolin D32 Pro
59 | 44;;;4.32312;-10.5512;0;Bottom;Via18
60 | 45;;;16.3319;-48.5273;0;Bottom;Via20
61 | 46;;tactile-pth-12mm;20.594;-51.036;0;Bottom;N
62 | 47;;;14.5136;-67.8311;0;Bottom;TXT1
63 | 48;;;49.3307;-13.0252;0;Bottom;Via39
64 | 49;;;42.3435;-57.5228;0;Bottom;Via28
65 | 50;;tactile-pth;31.5184;-11.5648;90;Bottom;Full
66 | 51;;;31.8355;-52.0451;0;Bottom;Via6
67 | 52;;;6.34395;-58.536;0;Bottom;Hole3
68 | 53;;;25.3458;-57.0378;0;Bottom;Via2
69 | 54;;;35.3421;-11.526;0;Bottom;Via29
70 | 55;;;9.33045;-20.5215;0;Bottom;Via15
71 | 56;10k;THT;11.344;-12.0836;90;Bottom;R5
72 | 57;;tactile-pth-12mm;20.594;-23.0361;0;Bottom;S
73 | 58;;;64.8631;-44.5227;0;Bottom;Via37
74 | 59;;;21.8476;-57.0378;0;Bottom;Via1
75 | 60;10k;THT;30.344;-47.5835;90;Bottom;R2
76 | 61;;THT;42.3438;-5.99604;0;Bottom;S1
77 | 62;;;32.344;-58.536;0;Bottom;Hole4
78 | 63;;tactile-pth-12mm;32.5941;-37.036;0;Bottom;E
79 | 64;;;41.3148;-45.5264;0;Bottom;Via48
80 | 65;;;20.8517;-48.5273;0;Bottom;Via19
81 | 66;;;40.3383;-12.5443;0;Bottom;Via36
82 | 67;;;56.3575;-47.0264;0;Bottom;Via45
83 | 68;;;16.3319;-25.529;0;Bottom;Via23
84 | 69;;;34.8533;-53.0171;0;Bottom;Via9
85 | 70;;THT;50.344;-5.99604;0;Bottom;S2
86 | 71;;;66.8183;-18.0623;0;Bottom;Via47
87 | 72;;THT;58.3439;-5.99604;0;Bottom;S3
88 | 73;;;28.8253;-50.5126;0;Bottom;Via3
89 | 74;;300 mil [THT];60.1286;-29.0361;180;Bottom;D1
90 | 75;;;54.8498;-49.5587;0;Bottom;Via43
91 | 76;;;6.34395;-24.5359;0;Bottom;Hole5
92 | 77;;;28.8097;-67.0856;0;Bottom;TXT3
93 | 78;;;6.34395;-2.53614;0;Bottom;Hole7
94 | 79;;;56.8325;-12.5443;0;Bottom;Via35
95 | 80;;;40.3591;-62.5493;0;Bottom;Via11
96 | 81;10k;THT;37.589;-11.9585;90;Bottom;R7
97 | 82;;;63.349;-59.5373;0;Bottom;Via44
98 | 83;;;40.3591;-49.0316;0;Bottom;Via13
99 | 84;;;8.84302;-10.5512;0;Bottom;Via17
100 |
--------------------------------------------------------------------------------
/Hardware/3_TCP_Handbox/TCP_Handbox_LOLIND32Pro/TCP_Handbox.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/3_TCP_Handbox/TCP_Handbox_LOLIND32Pro/TCP_Handbox.fzz
--------------------------------------------------------------------------------
/Hardware/3_TCP_Handbox/TCP_Handbox_LOLIND32Pro/TCP_Handbox_pcb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/3_TCP_Handbox/TCP_Handbox_LOLIND32Pro/TCP_Handbox_pcb.jpg
--------------------------------------------------------------------------------
/Hardware/3_TCP_Handbox/TCP_Handbox_LOLIND32Pro/TCP_Handbox_schem.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/3_TCP_Handbox/TCP_Handbox_LOLIND32Pro/TCP_Handbox_schem.jpg
--------------------------------------------------------------------------------
/Hardware/4_FocusMotors/Focusstepper_Test/Focusstepper_Test.ino:
--------------------------------------------------------------------------------
1 | #include
2 | AccelStepper raStepper(AccelStepper::DRIVER,3,2); // pin 3 connected to STEP, pin 2 connected to DIR
3 | AccelStepper deStepper(AccelStepper::DRIVER,5,4); // pin 5 connected to STEP, pin 4 connected to DIR
4 |
5 | struct kinematicParametersStruct {
6 | long steps;
7 | long maxSpeed;
8 | long acceleration;
9 | };
10 |
11 | struct kinematicParametersStruct raDriveParams;
12 | struct kinematicParametersStruct deDriveParams;
13 |
14 | //--------------------------------------------------------
15 |
16 | void setup() {
17 | pinMode(8,OUTPUT); // connected to M0
18 | pinMode(7,OUTPUT); // connected to M1
19 | pinMode(6,OUTPUT); // connected to M2 of the drv 8825 - sets microstepping for both drives
20 | pinMode(A0, OUTPUT);
21 | pinMode(A1,OUTPUT);
22 | digitalWrite(A0, LOW);
23 | digitalWrite(A1, LOW);
24 | digitalWrite(8,HIGH);
25 | digitalWrite(7,LOW);
26 | digitalWrite(6,LOW); // LLL=full, HLL=half,LHL=1/4,HHL=1/8,LLH=1/16,HLH=LHH=HHH=1/32 for the DRV8825
27 |
28 | raDriveParams.steps = 3000;
29 | raDriveParams.maxSpeed = 300;
30 | raDriveParams.acceleration = 300;
31 | deDriveParams.steps = 3000;
32 | deDriveParams.maxSpeed = 300;
33 | deDriveParams.acceleration = 300;
34 |
35 | raStepper.setMaxSpeed(raDriveParams.maxSpeed);
36 | raStepper.setAcceleration(raDriveParams.acceleration);
37 | raStepper.moveTo(raDriveParams.steps);
38 | deStepper.setMaxSpeed(deDriveParams.maxSpeed);
39 | deStepper.setAcceleration(deDriveParams.acceleration);
40 | deStepper.moveTo(deDriveParams.steps);
41 | }
42 |
43 | //---------------------------------------------------------
44 |
45 | void loop() {
46 | raStepper.run();
47 | deStepper.run();
48 | if (raStepper.isRunning() == false) {
49 | raDriveParams.steps *= -1;
50 | raStepper.moveTo(raDriveParams.steps);
51 | }
52 | if (deStepper.isRunning() == false) {
53 | deDriveParams.steps *= -1;
54 | deStepper.moveTo(deDriveParams.steps);
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/Hardware/4_FocusMotors/Gerber/MotorBoard_contour.gm1:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10R,2.140090X2.747570*%
12 | %ADD11C,0.008000*%
13 | %ADD10C,0.008*%
14 | %LNCONTOUR*%
15 | G90*
16 | G70*
17 | G54D10*
18 | G54D11*
19 | X4Y2744D02*
20 | X2136Y2744D01*
21 | X2136Y4D01*
22 | X4Y4D01*
23 | X4Y2744D01*
24 | D02*
25 | G04 End of contour*
26 | M02*
--------------------------------------------------------------------------------
/Hardware/4_FocusMotors/Gerber/MotorBoard_drill.txt:
--------------------------------------------------------------------------------
1 | ; NON-PLATED HOLES START AT T1
2 | ; THROUGH (PLATED) HOLES START AT T100
3 | M48
4 | INCH
5 | T100C0.015748
6 | T101C0.038000
7 | T102C0.040000
8 | T103C0.035000
9 | T104C0.042000
10 | T105C0.129921
11 | %
12 | T100
13 | X013161Y014225
14 | X008661Y023975
15 | X006161Y021225
16 | X006661Y012725
17 | X020661Y006475
18 | X007550Y013725
19 | X009411Y021475
20 | X002411Y021475
21 | X000411Y022725
22 | X011161Y018725
23 | X020661Y011225
24 | X003161Y010725
25 | X003161Y007725
26 | X007661Y022475
27 | X013911Y002975
28 | X000911Y024475
29 | X002911Y023975
30 | X019661Y009725
31 | X014661Y009975
32 | X001661Y012975
33 | X020161Y008225
34 | X004926Y018993
35 | X001161Y010975
36 | X004911Y020975
37 | X017661Y007475
38 | X005911Y021975
39 | X005661Y012975
40 | X020161Y005836
41 | X008911Y013725
42 | X008911Y014975
43 | X019161Y008975
44 | X012661Y004975
45 | X016661Y011225
46 | X001661Y023475
47 | X015161Y022975
48 | X005409Y017979
49 | X002411Y019975
50 | X018161Y003975
51 | X018161Y024475
52 | X003661Y021475
53 | X010161Y001725
54 | X013661Y010475
55 | X015661Y009975
56 | X019161Y008225
57 | X007661Y016475
58 | X011161Y019475
59 | X009411Y019975
60 | X017550Y004475
61 | X006661Y022975
62 | X001161Y012225
63 | X018661Y007975
64 | X019661Y013225
65 | X014411Y015975
66 | X018161Y014225
67 | X005411Y020475
68 | X019661Y004975
69 | X012411Y015475
70 | X017661Y008975
71 | X009161Y004975
72 | X017661Y023475
73 | X019661Y006975
74 | X002911Y018975
75 | X018661Y013725
76 | X003911Y014086
77 | X016161Y012725
78 | X014661Y020975
79 | X003661Y004336
80 | T101
81 | X006673Y019968
82 | X010161Y018975
83 | X001661Y020975
84 | X015161Y014975
85 | X015161Y015975
86 | X010161Y017975
87 | X015161Y018975
88 | X010161Y020975
89 | X001661Y019975
90 | X010161Y021975
91 | X010161Y019975
92 | X006673Y021968
93 | X015161Y020975
94 | X001661Y015975
95 | X006673Y014968
96 | X015161Y016975
97 | X010161Y014975
98 | X001661Y017975
99 | X006673Y018968
100 | X001661Y018975
101 | X001661Y021975
102 | X006673Y017968
103 | X015161Y019975
104 | X006673Y016968
105 | X001661Y016975
106 | X015161Y021975
107 | X010161Y015975
108 | X015161Y017975
109 | X001661Y014975
110 | X010161Y016975
111 | X006673Y015968
112 | X006673Y020968
113 | T102
114 | X009661Y011975
115 | X003133Y000925
116 | X004661Y009475
117 | X004661Y011475
118 | X016661Y005975
119 | X006661Y005975
120 | X008039Y025725
121 | X013661Y011975
122 | X008661Y011975
123 | X009661Y005975
124 | X013911Y000975
125 | X004661Y007475
126 | X015039Y025725
127 | X006661Y025725
128 | X007661Y005975
129 | X003905Y025725
130 | X004661Y008475
131 | X011661Y005975
132 | X014661Y011975
133 | X015661Y005975
134 | X015661Y011975
135 | X012533Y000975
136 | X010661Y011975
137 | X006233Y000925
138 | X014661Y005975
139 | X012283Y025725
140 | X004511Y000925
141 | X007661Y011975
142 | X011661Y011975
143 | X015289Y000975
144 | X005661Y005975
145 | X010661Y005975
146 | X010111Y010825
147 | X005661Y011975
148 | X005283Y025725
149 | X006661Y011975
150 | X004661Y006475
151 | X011155Y000975
152 | X013661Y005975
153 | X012661Y011975
154 | X010905Y025725
155 | X007611Y000925
156 | X009111Y010825
157 | X013661Y025725
158 | X016661Y011975
159 | X008661Y005975
160 | X004661Y010475
161 | X012661Y005975
162 | T103
163 | X002163Y009466
164 | X001163Y009466
165 | T104
166 | X009161Y003955
167 | X002179Y004753
168 | X002179Y007509
169 | X009161Y000975
170 | T105
171 | X001036Y026350
172 | X020289Y026406
173 | X020289Y003178
174 | X000998Y003178
175 | T00
176 | M30
177 |
--------------------------------------------------------------------------------
/Hardware/4_FocusMotors/Gerber/MotorBoard_maskBottom.gbs:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10C,0.049370*%
12 | %ADD11C,0.094500*%
13 | %ADD12C,0.090000*%
14 | %ADD13C,0.092000*%
15 | %ADD14C,0.163543*%
16 | %ADD15C,0.085000*%
17 | %ADD16C,0.084000*%
18 | %ADD17C,0.088000*%
19 | %ADD18R,0.092000X0.092000*%
20 | %ADD19R,0.090000X0.090000*%
21 | %ADD20R,0.085000X0.085000*%
22 | %LNMASK0*%
23 | G90*
24 | G70*
25 | G54D10*
26 | X541Y2048D03*
27 | X541Y1798D03*
28 | X491Y2098D03*
29 | X493Y1899D03*
30 | X1516Y2298D03*
31 | X666Y2298D03*
32 | X166Y2348D03*
33 | X591Y2198D03*
34 | X41Y2273D03*
35 | X616Y2123D03*
36 | X116Y1098D03*
37 | X116Y1223D03*
38 | X366Y2148D03*
39 | X766Y2248D03*
40 | X1466Y2098D03*
41 | X291Y2398D03*
42 | X866Y2398D03*
43 | X1316Y1423D03*
44 | X1766Y2348D03*
45 | X1816Y1423D03*
46 | X1241Y1548D03*
47 | X1441Y1598D03*
48 | X1116Y1948D03*
49 | X1866Y1373D03*
50 | X1766Y748D03*
51 | X1116Y1873D03*
52 | X666Y1273D03*
53 | X1616Y1273D03*
54 | X941Y2148D03*
55 | X941Y1998D03*
56 | X241Y2148D03*
57 | X241Y1998D03*
58 | X291Y1898D03*
59 | X766Y1648D03*
60 | X566Y1298D03*
61 | X916Y498D03*
62 | X1916Y898D03*
63 | X1766Y898D03*
64 | X91Y2448D03*
65 | X1816Y2448D03*
66 | X1966Y1323D03*
67 | X1966Y973D03*
68 | X1666Y1123D03*
69 | X2066Y1123D03*
70 | X1366Y1048D03*
71 | X2016Y823D03*
72 | X1466Y998D03*
73 | X1566Y998D03*
74 | X1391Y298D03*
75 | X1916Y823D03*
76 | X1866Y798D03*
77 | X166Y1298D03*
78 | X1966Y698D03*
79 | X1966Y498D03*
80 | X1016Y173D03*
81 | X1266Y498D03*
82 | X316Y1073D03*
83 | X316Y773D03*
84 | X891Y1498D03*
85 | X391Y1409D03*
86 | X366Y434D03*
87 | X1755Y448D03*
88 | X2066Y648D03*
89 | X1816Y398D03*
90 | X2016Y584D03*
91 | X755Y1373D03*
92 | X891Y1373D03*
93 | G54D11*
94 | X218Y751D03*
95 | X218Y475D03*
96 | G54D12*
97 | X1116Y98D03*
98 | X1253Y98D03*
99 | X1391Y98D03*
100 | X1529Y98D03*
101 | X391Y2573D03*
102 | X528Y2573D03*
103 | X666Y2573D03*
104 | X804Y2573D03*
105 | X1091Y2573D03*
106 | X1228Y2573D03*
107 | X1366Y2573D03*
108 | X1504Y2573D03*
109 | G54D13*
110 | X916Y396D03*
111 | X916Y98D03*
112 | G54D12*
113 | X623Y93D03*
114 | X761Y93D03*
115 | X313Y93D03*
116 | X451Y93D03*
117 | G54D14*
118 | X100Y318D03*
119 | X2029Y318D03*
120 | X2029Y2641D03*
121 | X104Y2635D03*
122 | G54D15*
123 | X116Y947D03*
124 | X216Y947D03*
125 | G54D16*
126 | X466Y1148D03*
127 | X466Y1048D03*
128 | X466Y948D03*
129 | X466Y848D03*
130 | X466Y748D03*
131 | X466Y648D03*
132 | X566Y1198D03*
133 | X666Y1198D03*
134 | X766Y1198D03*
135 | X866Y1198D03*
136 | X966Y1198D03*
137 | X911Y1083D03*
138 | X1011Y1083D03*
139 | X1066Y1198D03*
140 | X1166Y1198D03*
141 | X1266Y1198D03*
142 | X1366Y1198D03*
143 | X1466Y1198D03*
144 | X1566Y1198D03*
145 | X1666Y1198D03*
146 | X1666Y598D03*
147 | X1566Y598D03*
148 | X1466Y598D03*
149 | X1366Y598D03*
150 | X1266Y598D03*
151 | X1166Y598D03*
152 | X1066Y598D03*
153 | X966Y598D03*
154 | X866Y598D03*
155 | X766Y598D03*
156 | X666Y598D03*
157 | X566Y598D03*
158 | G54D17*
159 | X667Y2197D03*
160 | X667Y2097D03*
161 | X667Y1997D03*
162 | X667Y1897D03*
163 | X667Y1797D03*
164 | X667Y1697D03*
165 | X667Y1597D03*
166 | X667Y1497D03*
167 | X166Y2198D03*
168 | X166Y2098D03*
169 | X166Y1998D03*
170 | X166Y1898D03*
171 | X166Y1798D03*
172 | X166Y1698D03*
173 | X166Y1598D03*
174 | X166Y1498D03*
175 | X1016Y2198D03*
176 | X1016Y2098D03*
177 | X1016Y1998D03*
178 | X1016Y1898D03*
179 | X1016Y1798D03*
180 | X1016Y1698D03*
181 | X1016Y1598D03*
182 | X1016Y1498D03*
183 | X1516Y2198D03*
184 | X1516Y2098D03*
185 | X1516Y1998D03*
186 | X1516Y1898D03*
187 | X1516Y1798D03*
188 | X1516Y1698D03*
189 | X1516Y1598D03*
190 | X1516Y1498D03*
191 | G54D18*
192 | X218Y751D03*
193 | G54D19*
194 | X1116Y98D03*
195 | X391Y2573D03*
196 | X1091Y2573D03*
197 | G54D18*
198 | X916Y397D03*
199 | G54D19*
200 | X623Y93D03*
201 | X313Y93D03*
202 | G54D20*
203 | X116Y947D03*
204 | G04 End of Mask0*
205 | M02*
--------------------------------------------------------------------------------
/Hardware/4_FocusMotors/Gerber/MotorBoard_maskTop.gts:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10C,0.049370*%
12 | %ADD11C,0.094500*%
13 | %ADD12C,0.090000*%
14 | %ADD13C,0.092000*%
15 | %ADD14C,0.163543*%
16 | %ADD15C,0.085000*%
17 | %ADD16C,0.084000*%
18 | %ADD17C,0.088000*%
19 | %ADD18R,0.092000X0.092000*%
20 | %ADD19R,0.090000X0.090000*%
21 | %ADD20R,0.085000X0.085000*%
22 | %LNMASK1*%
23 | G90*
24 | G70*
25 | G54D10*
26 | X541Y2048D03*
27 | X541Y1798D03*
28 | X491Y2098D03*
29 | X493Y1899D03*
30 | X1516Y2298D03*
31 | X666Y2298D03*
32 | X166Y2348D03*
33 | X591Y2198D03*
34 | X41Y2273D03*
35 | X616Y2123D03*
36 | X116Y1098D03*
37 | X116Y1223D03*
38 | X366Y2148D03*
39 | X766Y2248D03*
40 | X1466Y2098D03*
41 | X291Y2398D03*
42 | X866Y2398D03*
43 | X1316Y1423D03*
44 | X1766Y2348D03*
45 | X1816Y1423D03*
46 | X1241Y1548D03*
47 | X1441Y1598D03*
48 | X1116Y1948D03*
49 | X1866Y1373D03*
50 | X1766Y748D03*
51 | X1116Y1873D03*
52 | X666Y1273D03*
53 | X1616Y1273D03*
54 | X941Y2148D03*
55 | X941Y1998D03*
56 | X241Y2148D03*
57 | X241Y1998D03*
58 | X291Y1898D03*
59 | X766Y1648D03*
60 | X566Y1298D03*
61 | X916Y498D03*
62 | X1916Y898D03*
63 | X1766Y898D03*
64 | X91Y2448D03*
65 | X1816Y2448D03*
66 | X1966Y1323D03*
67 | X1966Y973D03*
68 | X1666Y1123D03*
69 | X2066Y1123D03*
70 | X1366Y1048D03*
71 | X2016Y823D03*
72 | X1466Y998D03*
73 | X1566Y998D03*
74 | X1391Y298D03*
75 | X1916Y823D03*
76 | X1866Y798D03*
77 | X166Y1298D03*
78 | X1966Y698D03*
79 | X1966Y498D03*
80 | X1016Y173D03*
81 | X1266Y498D03*
82 | X316Y1073D03*
83 | X316Y773D03*
84 | X891Y1498D03*
85 | X391Y1409D03*
86 | X366Y434D03*
87 | X1755Y448D03*
88 | X2066Y648D03*
89 | X1816Y398D03*
90 | X2016Y584D03*
91 | X755Y1373D03*
92 | X891Y1373D03*
93 | G54D11*
94 | X218Y751D03*
95 | X218Y475D03*
96 | G54D12*
97 | X1116Y98D03*
98 | X1253Y98D03*
99 | X1391Y98D03*
100 | X1529Y98D03*
101 | X391Y2573D03*
102 | X528Y2573D03*
103 | X666Y2573D03*
104 | X804Y2573D03*
105 | X1091Y2573D03*
106 | X1228Y2573D03*
107 | X1366Y2573D03*
108 | X1504Y2573D03*
109 | G54D13*
110 | X916Y396D03*
111 | X916Y98D03*
112 | G54D12*
113 | X623Y93D03*
114 | X761Y93D03*
115 | X313Y93D03*
116 | X451Y93D03*
117 | G54D14*
118 | X100Y318D03*
119 | X2029Y318D03*
120 | X2029Y2641D03*
121 | X104Y2635D03*
122 | G54D15*
123 | X116Y947D03*
124 | X216Y947D03*
125 | G54D16*
126 | X466Y1148D03*
127 | X466Y1048D03*
128 | X466Y948D03*
129 | X466Y848D03*
130 | X466Y748D03*
131 | X466Y648D03*
132 | X566Y1198D03*
133 | X666Y1198D03*
134 | X766Y1198D03*
135 | X866Y1198D03*
136 | X966Y1198D03*
137 | X911Y1083D03*
138 | X1011Y1083D03*
139 | X1066Y1198D03*
140 | X1166Y1198D03*
141 | X1266Y1198D03*
142 | X1366Y1198D03*
143 | X1466Y1198D03*
144 | X1566Y1198D03*
145 | X1666Y1198D03*
146 | X1666Y598D03*
147 | X1566Y598D03*
148 | X1466Y598D03*
149 | X1366Y598D03*
150 | X1266Y598D03*
151 | X1166Y598D03*
152 | X1066Y598D03*
153 | X966Y598D03*
154 | X866Y598D03*
155 | X766Y598D03*
156 | X666Y598D03*
157 | X566Y598D03*
158 | G54D17*
159 | X667Y2197D03*
160 | X667Y2097D03*
161 | X667Y1997D03*
162 | X667Y1897D03*
163 | X667Y1797D03*
164 | X667Y1697D03*
165 | X667Y1597D03*
166 | X667Y1497D03*
167 | X166Y2198D03*
168 | X166Y2098D03*
169 | X166Y1998D03*
170 | X166Y1898D03*
171 | X166Y1798D03*
172 | X166Y1698D03*
173 | X166Y1598D03*
174 | X166Y1498D03*
175 | X1016Y2198D03*
176 | X1016Y2098D03*
177 | X1016Y1998D03*
178 | X1016Y1898D03*
179 | X1016Y1798D03*
180 | X1016Y1698D03*
181 | X1016Y1598D03*
182 | X1016Y1498D03*
183 | X1516Y2198D03*
184 | X1516Y2098D03*
185 | X1516Y1998D03*
186 | X1516Y1898D03*
187 | X1516Y1798D03*
188 | X1516Y1698D03*
189 | X1516Y1598D03*
190 | X1516Y1498D03*
191 | G54D18*
192 | X218Y751D03*
193 | G54D19*
194 | X1116Y98D03*
195 | X391Y2573D03*
196 | X1091Y2573D03*
197 | G54D18*
198 | X916Y397D03*
199 | G54D19*
200 | X623Y93D03*
201 | X313Y93D03*
202 | G54D20*
203 | X116Y947D03*
204 | G04 End of Mask1*
205 | M02*
--------------------------------------------------------------------------------
/Hardware/4_FocusMotors/Gerber/MotorBoard_pnp.txt:
--------------------------------------------------------------------------------
1 | *Pick And Place List
2 | *Company=
3 | *Author=
4 | *eMail=
5 | *
6 | *Project=MotorBoard
7 | *Date=13:08:43
8 | *CreatedBy=Fritzing 0.9.3b.04.19.5c895d327c44a3114e5fcc9d8260daf0cbb52806
9 | *
10 | *
11 | *Coordinates in mm, always center of component
12 | *Origin 0/0=Lower left corner of PCB
13 | *Rotation in degree (0-360, math. pos.)
14 | *
15 | *No;Value;Package;X;Y;Rotation;Side;Name
16 | 1;;;7.39582;-60.8985;0;Bottom;Via19
17 | 2;;;52.4807;-16.4486;0;Bottom;Via71
18 | 3;;;45.9584;-65.5036;0;Bottom;TXT2
19 | 4;;THT;9.58283;-2.85951;-90;Bottom;GND/12V
20 | 5;;;51.2107;-20.8936;0;Bottom;Via50
21 | 6;;;32.1607;-12.6386;0;Bottom;Via64
22 | 7;;;12.5126;-48.2445;0;Bottom;Via4
23 | 8;;;22.6357;-34.8635;0;Bottom;Via75
24 | 9;;;48.6707;-20.8936;0;Bottom;Via56
25 | 10;;;27.0808;-22.7985;-90;Bottom;Arduino Mini Pro
26 | 11;;;2.95082;-31.0536;0;Bottom;Via13
27 | 12;;;14.3807;-32.9586;0;Bottom;Via39
28 | 13;;;9.93582;-35.7807;0;Bottom;Via68
29 | 14;;;28.3507;-49.4685;0;Bottom;Via27
30 | 15;;THT;17.4568;-2.85951;-90;Bottom;GND/5V
31 | 16;;;42.3207;-28.5136;0;Bottom;Via47
32 | 17;;;16.9207;-58.3585;0;Bottom;Via6
33 | 18;;;46.1307;-62.1685;0;Bottom;Via44
34 | 19;;THT;4.22083;-46.9285;0;Bottom;EN
35 | 20;;;9.30082;-11.0158;0;Bottom;Via69
36 | 21;;THT;32.8238;-65.8515;-90;Bottom;DR B: AA'BB'
37 | 22;;;49.9407;-12.6386;0;Bottom;Via61
38 | 23;;;16.9207;-32.3236;0;Bottom;Via31
39 | 24;;;19.4607;-57.0885;0;Bottom;Via15
40 | 25;;;2.63332;-66.931;0;Bottom;Hole2
41 | 26;;;49.9407;-24.7036;0;Bottom;Via46
42 | 27;;;13.7397;-45.6677;0;Bottom;Via2
43 | 28;;;8.03082;-19.6236;0;Bottom;Via66
44 | 29;;THT;38.5108;-46.9285;0;Bottom;Drive B
45 | 30;;;19.4607;-41.8485;0;Bottom;Via38
46 | 31;;THT;25.8108;-46.9285;0;Bottom;EN
47 | 32;;;5.53582;-17.0528;90;Bottom;D2
48 | 33;;;2.95082;-27.8786;0;Bottom;Via12
49 | 34;;THT;33.4588;-2.98648;-90;Bottom;SPI
50 | 35;;;46.1307;-36.1335;0;Bottom;Via24
51 | 36;;;47.4007;-34.8635;0;Bottom;Via28
52 | 37;;;28.3507;-47.5635;0;Bottom;Via30
53 | 38;;;15.0157;-55.8185;0;Bottom;Via9
54 | 39;;;51.2107;-14.8258;0;Bottom;Via73
55 | 40;;;2.31582;-62.1685;0;Bottom;Via43
56 | 41;;;51.5358;-8.07351;0;Bottom;Hole3
57 | 42;;;46.1307;-10.0986;0;Bottom;Via72
58 | 43;;;44.8607;-22.7986;0;Bottom;Via42
59 | 44;;;8.03082;-27.2436;0;Bottom;Via65
60 | 45;;;47.3698;-49.9384;-90;Bottom;TXT5
61 | 46;;;44.5785;-11.3686;0;Bottom;Via70
62 | 47;;;23.2707;-12.6386;0;Bottom;Via40
63 | 48;;;4.22082;-32.9586;0;Bottom;Via59
64 | 49;;;47.4007;-20.2586;0;Bottom;Via57
65 | 50;;;6.12582;-50.7385;0;Bottom;Via36
66 | 51;;;44.8607;-18.9886;0;Bottom;Via29
67 | 52;;THT;15.0438;-65.8515;-90;Bottom;DR A: AA'BB'
68 | 53;;;38.5107;-58.3585;0;Bottom;Via5
69 | 54;;THT;16.9496;-46.9107;0;Bottom;Drive A
70 | 55;;;44.62;-49.1489;-90;Bottom;TXT4
71 | 56;;;9.30082;-54.5485;0;Bottom;Via14
72 | 57;;;35.3357;-7.55861;0;Bottom;Via55
73 | 58;;;12.4758;-53.2785;0;Bottom;Via3
74 | 59;;;52.4807;-28.5136;0;Bottom;Via48
75 | 60;;;33.4307;-36.1335;0;Bottom;Via21
76 | 61;0.1mF;100 mil [THT, electrolytic];4.2265;-24.0437;0;Bottom;C1
77 | 62;;;23.9057;-54.5485;0;Bottom;Via33
78 | 63;;;41.0507;-32.3236;0;Bottom;Via32
79 | 64;;;37.2407;-53.2785;0;Bottom;Via18
80 | 65;;;48.6707;-22.7986;0;Bottom;Via41
81 | 66;;;37.2407;-25.3386;0;Bottom;Via51
82 | 67;;;7.39582;-48.1985;0;Bottom;Via37
83 | 68;;;15.6507;-53.9135;0;Bottom;Via11
84 | 69;;;39.7807;-25.3386;0;Bottom;Via52
85 | 70;;;13.7458;-52.0085;0;Bottom;Via1
86 | 71;;;44.8607;-59.6285;0;Bottom;Via23
87 | 72;;;49.9407;-33.5936;0;Bottom;Via45
88 | 73;;;6.12582;-54.5485;0;Bottom;Via35
89 | 74;;;35.3755;-6.81038;0;Bottom;TXT1
90 | 75;;;22.0007;-60.8985;0;Bottom;Via20
91 | 76;;;1.04582;-57.7235;0;Bottom;Via10
92 | 77;;;4.22082;-59.6285;0;Bottom;Via8
93 | 78;;;23.9057;-50.7385;0;Bottom;Via34
94 | 79;;;34.7007;-26.6086;0;Bottom;Via49
95 | 80;;;22.6357;-38.0385;0;Bottom;Via67
96 | 81;;;31.5257;-39.3085;0;Bottom;Via25
97 | 82;;;25.8107;-4.38361;0;Bottom;Via63
98 | 83;;;19.1785;-34.8635;0;Bottom;Via74
99 | 84;;;51.5358;-67.0735;0;Bottom;Hole5
100 | 85;;;36.6057;-40.5785;0;Bottom;Via26
101 | 86;;;49.9407;-17.7186;0;Bottom;Via60
102 | 87;;300 mil [THT];23.2708;-6.26311;90;Bottom;D1
103 | 88;;;2.53583;-8.07351;0;Bottom;Hole4
104 | 89;;;42.1804;-49.1414;-90;Bottom;TXT3
105 |
--------------------------------------------------------------------------------
/Hardware/4_FocusMotors/Gerber/MotorBoard_silkBottom.gbo:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10R,2.140090X2.747570X2.124090X2.731570*%
12 | %ADD11C,0.008000*%
13 | %LNSILK0*%
14 | G90*
15 | G70*
16 | G54D11*
17 | X4Y2744D02*
18 | X2136Y2744D01*
19 | X2136Y4D01*
20 | X4Y4D01*
21 | X4Y2744D01*
22 | D02*
23 | G04 End of Silk0*
24 | M02*
--------------------------------------------------------------------------------
/Hardware/4_FocusMotors/MotorBoard.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/4_FocusMotors/MotorBoard.fzz
--------------------------------------------------------------------------------
/Hardware/4_FocusMotors/MotorBoard_pcb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/4_FocusMotors/MotorBoard_pcb.jpg
--------------------------------------------------------------------------------
/Hardware/4_FocusMotors/MotorBoard_schem.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/4_FocusMotors/MotorBoard_schem.jpg
--------------------------------------------------------------------------------
/Hardware/4_FocusMotors/TheTSCStepperProtocol:
--------------------------------------------------------------------------------
1 | Communications protocol for the Focusmotorboards
2 | W. Birkfellner, Nov. 2017, V. 0.1
3 |
4 | The stepperboards for TSC communicate via SPI or USB betwwen the Raspberry and
5 | the microcontrollers running the steppers with the AccelStepper library.
6 | so far the commands are transmitted as characters, following the convention:
7 | xyzzzzzz...
8 | where x is a character denoting the action to be taken, y is a number between
9 | 0 and 4, where therse are literals, and zzzzzz... is a string of bytes that
10 | is converted to a long integer.
11 |
12 | An example:
13 | "a1200" sets the acceleration (denoted by 'a') of the second drive ('1' instead
14 | of '0') to 200 microsteps per second.
15 |
16 | Commands that apply to all drives (such as the number of microsteps,
17 | which can only be set for both drivers) are issued
18 | without the second byte.
19 |
20 | In general, parameters have to be set, then the drive is enabled, and then it should start.
21 | Once a motion is finished, the drive is being automatically disabled.
22 |
23 | Command set:
24 | To enable or disable drives:
25 | 'exy' ... where x is the number of the drive ('0' or '1' for the focus-driver board)
26 | and y is a boolean - 1 means enable the drive (that is, power the coils up), and
27 | 0 means "disable".
28 |
29 | Setting the acceleration:
30 | axyyyyy ... where x is the number of the drive and yyyy is a long integer for the
31 | acceleration in microsteps/^2.
32 |
33 | Setting microsteps:
34 | Microsteps can only be set for groups of two drives, the command is
35 | m xxx ... xxx is either 001, 002, 004, 008, 016, 032, 064 or 128. This is the
36 | nominator of the ratio of microstepping. For instance "m 008" sets both drivers
37 | to 1/8 microstepping.
38 |
39 | Setting final velocity:
40 | vxyyyy ... where x is the drive as usual and yyyy is a long integer for microsteps/s,
41 | which is the end velocity.
42 |
43 | Setting the number of steps:
44 | sxyyy ... again, x is the driver and yyy is the number of microsteps
45 |
46 | Checking whether a board is connected:
47 | t ... this command responds with 'D', '0', '1' or 'B'. 'D' is short for the
48 | DRV 8825 and both drives are inactive. If both are running, one gets a 'B', otherwise
49 | the numeral for the active drive is sent. If 'D' is returned when 't' was sent,
50 | a board is connected.
51 |
52 | Stop a drive:
53 | xy ... y is the address of the drive.
54 |
55 | Start a drive:
56 | oy ... y is the drive. Steps, acceleration, microstepping and velocity have to
57 | be defined, and the drives have to be enabled.
58 |
59 |
60 |
61 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/Hardware/AMIS_Drives/Teensy3_5/AMIS30543_Teensy_1_3.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/AMIS_Drives/Teensy3_5/AMIS30543_Teensy_1_3.fzz
--------------------------------------------------------------------------------
/Hardware/AMIS_Drives/Teensy4/AMIS30543_Teensy_4.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/AMIS_Drives/Teensy4/AMIS30543_Teensy_4.fzz
--------------------------------------------------------------------------------
/Hardware/ConnectorBreakout/ConnectorBreakout.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/ConnectorBreakout/ConnectorBreakout.fzz
--------------------------------------------------------------------------------
/Hardware/ConnectorBreakout/ConnectorBreakout_pcb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/ConnectorBreakout/ConnectorBreakout_pcb.jpg
--------------------------------------------------------------------------------
/Hardware/ConnectorBreakout/Gerber/ConnectorBreakout_contour.gm1:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10R,2.559060X2.165350*%
12 | %ADD11C,0.008000*%
13 | %ADD10C,0.008*%
14 | %LNCONTOUR*%
15 | G90*
16 | G70*
17 | G54D10*
18 | G54D11*
19 | X4Y2161D02*
20 | X2555Y2161D01*
21 | X2555Y4D01*
22 | X4Y4D01*
23 | X4Y2161D01*
24 | D02*
25 | G04 End of contour*
26 | M02*
--------------------------------------------------------------------------------
/Hardware/ConnectorBreakout/Gerber/ConnectorBreakout_copperBottom.gbl:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10C,0.078000*%
12 | %ADD11C,0.079370*%
13 | %ADD12C,0.080000*%
14 | %ADD13C,0.039370*%
15 | %ADD14R,0.080000X0.080000*%
16 | %ADD15C,0.024000*%
17 | %LNCOPPER0*%
18 | G90*
19 | G70*
20 | G54D10*
21 | X647Y559D03*
22 | X547Y559D03*
23 | X447Y559D03*
24 | X648Y1658D03*
25 | X548Y1658D03*
26 | X448Y1658D03*
27 | G54D11*
28 | X2047Y559D03*
29 | X1947Y559D03*
30 | X2048Y1658D03*
31 | X1948Y1658D03*
32 | G54D10*
33 | X2097Y659D03*
34 | X1997Y659D03*
35 | X2098Y1758D03*
36 | X1998Y1758D03*
37 | X1397Y559D03*
38 | X1297Y559D03*
39 | X1398Y1658D03*
40 | X1298Y1658D03*
41 | X1447Y659D03*
42 | X1347Y659D03*
43 | X1448Y1758D03*
44 | X1348Y1758D03*
45 | X697Y459D03*
46 | X597Y459D03*
47 | X497Y459D03*
48 | X698Y1558D03*
49 | X598Y1558D03*
50 | X498Y1558D03*
51 | G54D12*
52 | X2197Y309D03*
53 | X2060Y309D03*
54 | X1922Y309D03*
55 | X1784Y309D03*
56 | X2198Y1408D03*
57 | X2061Y1408D03*
58 | X1923Y1408D03*
59 | X1785Y1408D03*
60 | X1547Y309D03*
61 | X1410Y309D03*
62 | X1272Y309D03*
63 | X1134Y309D03*
64 | X1548Y1408D03*
65 | X1411Y1408D03*
66 | X1273Y1408D03*
67 | X1135Y1408D03*
68 | X897Y209D03*
69 | X760Y209D03*
70 | X622Y209D03*
71 | X484Y209D03*
72 | X346Y209D03*
73 | X208Y209D03*
74 | X898Y1308D03*
75 | X760Y1308D03*
76 | X623Y1308D03*
77 | X485Y1308D03*
78 | X347Y1308D03*
79 | X209Y1308D03*
80 | G54D13*
81 | X447Y360D03*
82 | X448Y1458D03*
83 | X147Y360D03*
84 | X148Y1458D03*
85 | X798Y360D03*
86 | X799Y1458D03*
87 | X798Y560D03*
88 | X799Y1658D03*
89 | X1846Y660D03*
90 | X1847Y1758D03*
91 | X1846Y408D03*
92 | X1847Y1506D03*
93 | X1198Y408D03*
94 | X1199Y1506D03*
95 | X1198Y660D03*
96 | X1199Y1758D03*
97 | G54D14*
98 | X2197Y309D03*
99 | X2198Y1408D03*
100 | X1547Y309D03*
101 | X1548Y1408D03*
102 | X897Y209D03*
103 | X898Y1308D03*
104 | G54D15*
105 | X247Y560D02*
106 | X428Y559D01*
107 | D02*
108 | X248Y1658D02*
109 | X429Y1658D01*
110 | D02*
111 | X211Y229D02*
112 | X247Y560D01*
113 | D02*
114 | X211Y1328D02*
115 | X248Y1658D01*
116 | D02*
117 | X347Y460D02*
118 | X478Y459D01*
119 | D02*
120 | X348Y1558D02*
121 | X479Y1558D01*
122 | D02*
123 | X346Y229D02*
124 | X347Y460D01*
125 | D02*
126 | X347Y1328D02*
127 | X348Y1558D01*
128 | D02*
129 | X147Y368D02*
130 | X147Y660D01*
131 | D02*
132 | X148Y1466D02*
133 | X148Y1758D01*
134 | D02*
135 | X147Y660D02*
136 | X547Y660D01*
137 | D02*
138 | X148Y1758D02*
139 | X548Y1758D01*
140 | D02*
141 | X547Y660D02*
142 | X547Y578D01*
143 | D02*
144 | X548Y1758D02*
145 | X548Y1677D01*
146 | D02*
147 | X479Y229D02*
148 | X449Y352D01*
149 | D02*
150 | X480Y1327D02*
151 | X450Y1451D01*
152 | D02*
153 | X599Y308D02*
154 | X598Y440D01*
155 | D02*
156 | X599Y1406D02*
157 | X598Y1539D01*
158 | D02*
159 | X617Y229D02*
160 | X599Y308D01*
161 | D02*
162 | X618Y1327D02*
163 | X599Y1406D01*
164 | D02*
165 | X898Y460D02*
166 | X716Y459D01*
167 | D02*
168 | X899Y1558D02*
169 | X717Y1558D01*
170 | D02*
171 | X897Y229D02*
172 | X898Y460D01*
173 | D02*
174 | X898Y1328D02*
175 | X899Y1558D01*
176 | D02*
177 | X791Y560D02*
178 | X666Y559D01*
179 | D02*
180 | X791Y1658D02*
181 | X667Y1658D01*
182 | D02*
183 | X798Y308D02*
184 | X798Y352D01*
185 | D02*
186 | X799Y1406D02*
187 | X799Y1450D01*
188 | D02*
189 | X767Y228D02*
190 | X798Y308D01*
191 | D02*
192 | X768Y1327D02*
193 | X799Y1406D01*
194 | D02*
195 | X1798Y508D02*
196 | X1785Y329D01*
197 | D02*
198 | X1799Y1606D02*
199 | X1786Y1428D01*
200 | D02*
201 | X1929Y553D02*
202 | X1798Y508D01*
203 | D02*
204 | X1930Y1652D02*
205 | X1799Y1606D01*
206 | D02*
207 | X1851Y402D02*
208 | X1910Y325D01*
209 | D02*
210 | X1852Y1500D02*
211 | X1911Y1424D01*
212 | D02*
213 | X1978Y659D02*
214 | X1854Y660D01*
215 | D02*
216 | X1979Y1758D02*
217 | X1855Y1758D01*
218 | D02*
219 | X2046Y408D02*
220 | X2057Y329D01*
221 | D02*
222 | X2047Y1506D02*
223 | X2058Y1428D01*
224 | D02*
225 | X2047Y540D02*
226 | X2046Y408D01*
227 | D02*
228 | X2048Y1638D02*
229 | X2047Y1506D01*
230 | D02*
231 | X2198Y551D02*
232 | X2197Y329D01*
233 | D02*
234 | X2198Y608D02*
235 | X2198Y551D01*
236 | D02*
237 | X2199Y1706D02*
238 | X2198Y1428D01*
239 | D02*
240 | X2114Y651D02*
241 | X2198Y608D01*
242 | D02*
243 | X2115Y1749D02*
244 | X2199Y1706D01*
245 | D02*
246 | X1546Y608D02*
247 | X1547Y329D01*
248 | D02*
249 | X1547Y1706D02*
250 | X1548Y1428D01*
251 | D02*
252 | X1464Y651D02*
253 | X1546Y608D01*
254 | D02*
255 | X1465Y1749D02*
256 | X1547Y1706D01*
257 | D02*
258 | X1398Y408D02*
259 | X1407Y329D01*
260 | D02*
261 | X1399Y1506D02*
262 | X1408Y1428D01*
263 | D02*
264 | X1397Y540D02*
265 | X1398Y408D01*
266 | D02*
267 | X1398Y1639D02*
268 | X1399Y1506D01*
269 | D02*
270 | X1146Y508D02*
271 | X1135Y329D01*
272 | D02*
273 | X1147Y1606D02*
274 | X1136Y1428D01*
275 | D02*
276 | X1279Y553D02*
277 | X1146Y508D01*
278 | D02*
279 | X1280Y1652D02*
280 | X1147Y1606D01*
281 | D02*
282 | X1203Y402D02*
283 | X1260Y325D01*
284 | D02*
285 | X1204Y1500D02*
286 | X1261Y1424D01*
287 | D02*
288 | X1328Y659D02*
289 | X1206Y660D01*
290 | D02*
291 | X1329Y1758D02*
292 | X1207Y1758D01*
293 | G04 End of Copper0*
294 | M02*
--------------------------------------------------------------------------------
/Hardware/ConnectorBreakout/Gerber/ConnectorBreakout_copperTop.gtl:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10C,0.078000*%
12 | %ADD11C,0.079370*%
13 | %ADD12C,0.080000*%
14 | %ADD13C,0.039370*%
15 | %ADD14R,0.080000X0.080000*%
16 | %ADD15C,0.024000*%
17 | %LNCOPPER1*%
18 | G90*
19 | G70*
20 | G54D10*
21 | X647Y559D03*
22 | X547Y559D03*
23 | X447Y559D03*
24 | X648Y1658D03*
25 | X548Y1658D03*
26 | X448Y1658D03*
27 | G54D11*
28 | X2047Y559D03*
29 | X1947Y559D03*
30 | X2048Y1658D03*
31 | X1948Y1658D03*
32 | G54D10*
33 | X2097Y659D03*
34 | X1997Y659D03*
35 | X2098Y1758D03*
36 | X1998Y1758D03*
37 | X1397Y559D03*
38 | X1297Y559D03*
39 | X1398Y1658D03*
40 | X1298Y1658D03*
41 | X1447Y659D03*
42 | X1347Y659D03*
43 | X1448Y1758D03*
44 | X1348Y1758D03*
45 | X697Y459D03*
46 | X597Y459D03*
47 | X497Y459D03*
48 | X698Y1558D03*
49 | X598Y1558D03*
50 | X498Y1558D03*
51 | G54D12*
52 | X2197Y309D03*
53 | X2060Y309D03*
54 | X1922Y309D03*
55 | X1784Y309D03*
56 | X2198Y1408D03*
57 | X2061Y1408D03*
58 | X1923Y1408D03*
59 | X1785Y1408D03*
60 | X1547Y309D03*
61 | X1410Y309D03*
62 | X1272Y309D03*
63 | X1134Y309D03*
64 | X1548Y1408D03*
65 | X1411Y1408D03*
66 | X1273Y1408D03*
67 | X1135Y1408D03*
68 | X897Y209D03*
69 | X760Y209D03*
70 | X622Y209D03*
71 | X484Y209D03*
72 | X346Y209D03*
73 | X208Y209D03*
74 | X898Y1308D03*
75 | X760Y1308D03*
76 | X623Y1308D03*
77 | X485Y1308D03*
78 | X347Y1308D03*
79 | X209Y1308D03*
80 | G54D13*
81 | X447Y360D03*
82 | X448Y1458D03*
83 | X147Y360D03*
84 | X148Y1458D03*
85 | X798Y360D03*
86 | X799Y1458D03*
87 | X798Y560D03*
88 | X799Y1658D03*
89 | X1846Y660D03*
90 | X1847Y1758D03*
91 | X1846Y408D03*
92 | X1847Y1506D03*
93 | X1198Y408D03*
94 | X1199Y1506D03*
95 | X1198Y660D03*
96 | X1199Y1758D03*
97 | G54D14*
98 | X2197Y309D03*
99 | X2198Y1408D03*
100 | X1547Y309D03*
101 | X1548Y1408D03*
102 | X897Y209D03*
103 | X898Y1308D03*
104 | G54D15*
105 | X439Y360D02*
106 | X155Y360D01*
107 | D02*
108 | X440Y1458D02*
109 | X156Y1458D01*
110 | D02*
111 | X798Y368D02*
112 | X798Y552D01*
113 | D02*
114 | X799Y1466D02*
115 | X799Y1650D01*
116 | D02*
117 | X1846Y652D02*
118 | X1846Y416D01*
119 | D02*
120 | X1847Y1750D02*
121 | X1847Y1514D01*
122 | D02*
123 | X1198Y652D02*
124 | X1198Y416D01*
125 | D02*
126 | X1199Y1750D02*
127 | X1199Y1514D01*
128 | G04 End of Copper1*
129 | M02*
--------------------------------------------------------------------------------
/Hardware/ConnectorBreakout/Gerber/ConnectorBreakout_drill.txt:
--------------------------------------------------------------------------------
1 | ; NON-PLATED HOLES START AT T1
2 | ; THROUGH (PLATED) HOLES START AT T100
3 | M48
4 | INCH
5 | T1C0.039370
6 | T2C0.118110
7 | T100C0.038000
8 | T101C0.039370
9 | T102C0.015748
10 | T103C0.040000
11 | %
12 | T1
13 | X000482Y010579
14 | X011982Y010579
15 | X016982Y010579
16 | X004982Y010579
17 | X008982Y010579
18 | X005482Y010579
19 | X009482Y010579
20 | X024482Y010579
21 | X010982Y010579
22 | X012482Y010579
23 | X003982Y010579
24 | X009982Y010579
25 | X022482Y010579
26 | X006982Y010579
27 | X000982Y010579
28 | X015482Y010579
29 | X019482Y010579
30 | X017982Y010579
31 | X022982Y010579
32 | X021482Y010579
33 | X014482Y010579
34 | X008482Y010579
35 | X016482Y010579
36 | X021982Y010579
37 | X018982Y010579
38 | X017482Y010579
39 | X001482Y010579
40 | X012982Y010579
41 | X013482Y010579
42 | X020982Y010579
43 | X023482Y010579
44 | X007982Y010579
45 | X011482Y010579
46 | X002482Y010579
47 | X004482Y010579
48 | X024982Y010579
49 | X006482Y010579
50 | X007482Y010579
51 | X002982Y010579
52 | X018482Y010579
53 | X003482Y010579
54 | X019982Y010579
55 | X013982Y010579
56 | X020482Y010579
57 | X010482Y010579
58 | X023982Y010579
59 | X001982Y010579
60 | X015982Y010579
61 | X005982Y010579
62 | X014982Y010579
63 | T2
64 | X024482Y020579
65 | X018482Y020079
66 | X014973Y009094
67 | X003482Y019079
68 | X007973Y008094
69 | X000973Y009594
70 | X014982Y020079
71 | X000982Y020579
72 | X018473Y009094
73 | X011982Y020079
74 | X003473Y008094
75 | X007982Y019079
76 | X024473Y009594
77 | X021482Y020079
78 | X021473Y009094
79 | X011973Y009094
80 | T100
81 | X006973Y004594
82 | X005482Y016579
83 | X013482Y017579
84 | X012973Y005594
85 | X005982Y015579
86 | X004973Y004594
87 | X005473Y005594
88 | X014473Y006594
89 | X004482Y016579
90 | X004982Y015579
91 | X006982Y015579
92 | X006482Y016579
93 | X006473Y005594
94 | X014482Y017579
95 | X013473Y006594
96 | X013973Y005594
97 | X020982Y017579
98 | X020973Y006594
99 | X004473Y005594
100 | X013982Y016579
101 | X012982Y016579
102 | X005973Y004594
103 | X019973Y006594
104 | X019982Y017579
105 | T101
106 | X019482Y016579
107 | X020482Y016579
108 | X019473Y005594
109 | X020473Y005594
110 | T102
111 | X004476Y014583
112 | X011991Y017581
113 | X001469Y003598
114 | X018470Y015064
115 | X007993Y014583
116 | X007993Y016582
117 | X007984Y005597
118 | X011991Y015064
119 | X011982Y004079
120 | X018461Y006596
121 | X011982Y006596
122 | X007984Y003598
123 | X018461Y004079
124 | X004467Y003598
125 | X001478Y014583
126 | X018470Y017581
127 | T103
128 | X002093Y013079
129 | X003461Y002094
130 | X015482Y014079
131 | X006226Y013079
132 | X021982Y014079
133 | X004848Y013079
134 | X012727Y014079
135 | X011349Y014079
136 | X017849Y014079
137 | X019227Y014079
138 | X007604Y013079
139 | X014105Y014079
140 | X007595Y002094
141 | X014095Y003094
142 | X019217Y003094
143 | X012717Y003094
144 | X003471Y013079
145 | X015473Y003094
146 | X020595Y003094
147 | X008982Y013079
148 | X011339Y003094
149 | X020605Y014079
150 | X004839Y002094
151 | X006217Y002094
152 | X021973Y003094
153 | X002083Y002094
154 | X017839Y003094
155 | X008973Y002094
156 | T00
157 | M30
158 |
--------------------------------------------------------------------------------
/Hardware/ConnectorBreakout/Gerber/ConnectorBreakout_maskBottom.gbs:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10C,0.049370*%
12 | %ADD11C,0.088000*%
13 | %ADD12C,0.089370*%
14 | %ADD13C,0.090000*%
15 | %ADD14C,0.128110*%
16 | %ADD15R,0.090000X0.090000*%
17 | %LNMASK0*%
18 | G90*
19 | G70*
20 | G54D10*
21 | X148Y1058D03*
22 | X98Y1058D03*
23 | X48Y1058D03*
24 | X398Y1058D03*
25 | X198Y1058D03*
26 | X248Y1058D03*
27 | X348Y1058D03*
28 | X298Y1058D03*
29 | X448Y1058D03*
30 | X698Y1058D03*
31 | X498Y1058D03*
32 | X548Y1058D03*
33 | X648Y1058D03*
34 | X598Y1058D03*
35 | X748Y1058D03*
36 | X998Y1058D03*
37 | X798Y1058D03*
38 | X848Y1058D03*
39 | X948Y1058D03*
40 | X898Y1058D03*
41 | X1048Y1058D03*
42 | X1298Y1058D03*
43 | X1098Y1058D03*
44 | X1148Y1058D03*
45 | X1248Y1058D03*
46 | X1198Y1058D03*
47 | X1348Y1058D03*
48 | X1598Y1058D03*
49 | X1398Y1058D03*
50 | X1448Y1058D03*
51 | X1548Y1058D03*
52 | X1498Y1058D03*
53 | X1648Y1058D03*
54 | X1898Y1058D03*
55 | X1698Y1058D03*
56 | X1748Y1058D03*
57 | X1848Y1058D03*
58 | X1798Y1058D03*
59 | X1948Y1058D03*
60 | X2198Y1058D03*
61 | X1998Y1058D03*
62 | X2048Y1058D03*
63 | X2148Y1058D03*
64 | X2098Y1058D03*
65 | X2248Y1058D03*
66 | X2348Y1058D03*
67 | X2298Y1058D03*
68 | X2398Y1058D03*
69 | X2448Y1058D03*
70 | X2498Y1058D03*
71 | G54D11*
72 | X647Y559D03*
73 | X547Y559D03*
74 | X447Y559D03*
75 | X648Y1658D03*
76 | X548Y1658D03*
77 | X448Y1658D03*
78 | G54D12*
79 | X2047Y559D03*
80 | X1947Y559D03*
81 | X2048Y1658D03*
82 | X1948Y1658D03*
83 | G54D11*
84 | X2097Y659D03*
85 | X1997Y659D03*
86 | X2098Y1758D03*
87 | X1998Y1758D03*
88 | X1397Y559D03*
89 | X1297Y559D03*
90 | X1398Y1658D03*
91 | X1298Y1658D03*
92 | X1447Y659D03*
93 | X1347Y659D03*
94 | X1448Y1758D03*
95 | X1348Y1758D03*
96 | X697Y459D03*
97 | X597Y459D03*
98 | X497Y459D03*
99 | X698Y1558D03*
100 | X598Y1558D03*
101 | X498Y1558D03*
102 | G54D13*
103 | X2197Y309D03*
104 | X2060Y309D03*
105 | X1922Y309D03*
106 | X1784Y309D03*
107 | X2198Y1408D03*
108 | X2061Y1408D03*
109 | X1923Y1408D03*
110 | X1785Y1408D03*
111 | X1547Y309D03*
112 | X1410Y309D03*
113 | X1272Y309D03*
114 | X1134Y309D03*
115 | X1548Y1408D03*
116 | X1411Y1408D03*
117 | X1273Y1408D03*
118 | X1135Y1408D03*
119 | X897Y209D03*
120 | X760Y209D03*
121 | X622Y209D03*
122 | X484Y209D03*
123 | X346Y209D03*
124 | X208Y209D03*
125 | X898Y1308D03*
126 | X760Y1308D03*
127 | X623Y1308D03*
128 | X485Y1308D03*
129 | X347Y1308D03*
130 | X209Y1308D03*
131 | G54D14*
132 | X347Y809D03*
133 | X348Y1908D03*
134 | X797Y809D03*
135 | X798Y1908D03*
136 | X1197Y909D03*
137 | X1198Y2008D03*
138 | X1497Y909D03*
139 | X1498Y2008D03*
140 | X1847Y909D03*
141 | X1848Y2008D03*
142 | X2147Y909D03*
143 | X2148Y2008D03*
144 | X97Y959D03*
145 | X98Y2058D03*
146 | X2447Y959D03*
147 | X2448Y2058D03*
148 | G54D10*
149 | X447Y360D03*
150 | X448Y1458D03*
151 | X147Y360D03*
152 | X148Y1458D03*
153 | X798Y360D03*
154 | X799Y1458D03*
155 | X798Y560D03*
156 | X799Y1658D03*
157 | X1846Y660D03*
158 | X1847Y1758D03*
159 | X1846Y408D03*
160 | X1847Y1506D03*
161 | X1198Y408D03*
162 | X1199Y1506D03*
163 | X1198Y660D03*
164 | X1199Y1758D03*
165 | G54D15*
166 | X2197Y309D03*
167 | X2198Y1408D03*
168 | X1547Y309D03*
169 | X1548Y1408D03*
170 | X897Y209D03*
171 | X898Y1308D03*
172 | G04 End of Mask0*
173 | M02*
--------------------------------------------------------------------------------
/Hardware/ConnectorBreakout/Gerber/ConnectorBreakout_maskTop.gts:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10C,0.049370*%
12 | %ADD11C,0.088000*%
13 | %ADD12C,0.089370*%
14 | %ADD13C,0.090000*%
15 | %ADD14C,0.128110*%
16 | %ADD15R,0.090000X0.090000*%
17 | %LNMASK1*%
18 | G90*
19 | G70*
20 | G54D10*
21 | X148Y1058D03*
22 | X98Y1058D03*
23 | X48Y1058D03*
24 | X398Y1058D03*
25 | X198Y1058D03*
26 | X248Y1058D03*
27 | X348Y1058D03*
28 | X298Y1058D03*
29 | X448Y1058D03*
30 | X698Y1058D03*
31 | X498Y1058D03*
32 | X548Y1058D03*
33 | X648Y1058D03*
34 | X598Y1058D03*
35 | X748Y1058D03*
36 | X998Y1058D03*
37 | X798Y1058D03*
38 | X848Y1058D03*
39 | X948Y1058D03*
40 | X898Y1058D03*
41 | X1048Y1058D03*
42 | X1298Y1058D03*
43 | X1098Y1058D03*
44 | X1148Y1058D03*
45 | X1248Y1058D03*
46 | X1198Y1058D03*
47 | X1348Y1058D03*
48 | X1598Y1058D03*
49 | X1398Y1058D03*
50 | X1448Y1058D03*
51 | X1548Y1058D03*
52 | X1498Y1058D03*
53 | X1648Y1058D03*
54 | X1898Y1058D03*
55 | X1698Y1058D03*
56 | X1748Y1058D03*
57 | X1848Y1058D03*
58 | X1798Y1058D03*
59 | X1948Y1058D03*
60 | X2198Y1058D03*
61 | X1998Y1058D03*
62 | X2048Y1058D03*
63 | X2148Y1058D03*
64 | X2098Y1058D03*
65 | X2248Y1058D03*
66 | X2348Y1058D03*
67 | X2298Y1058D03*
68 | X2398Y1058D03*
69 | X2448Y1058D03*
70 | X2498Y1058D03*
71 | G54D11*
72 | X647Y559D03*
73 | X547Y559D03*
74 | X447Y559D03*
75 | X648Y1658D03*
76 | X548Y1658D03*
77 | X448Y1658D03*
78 | G54D12*
79 | X2047Y559D03*
80 | X1947Y559D03*
81 | X2048Y1658D03*
82 | X1948Y1658D03*
83 | G54D11*
84 | X2097Y659D03*
85 | X1997Y659D03*
86 | X2098Y1758D03*
87 | X1998Y1758D03*
88 | X1397Y559D03*
89 | X1297Y559D03*
90 | X1398Y1658D03*
91 | X1298Y1658D03*
92 | X1447Y659D03*
93 | X1347Y659D03*
94 | X1448Y1758D03*
95 | X1348Y1758D03*
96 | X697Y459D03*
97 | X597Y459D03*
98 | X497Y459D03*
99 | X698Y1558D03*
100 | X598Y1558D03*
101 | X498Y1558D03*
102 | G54D13*
103 | X2197Y309D03*
104 | X2060Y309D03*
105 | X1922Y309D03*
106 | X1784Y309D03*
107 | X2198Y1408D03*
108 | X2061Y1408D03*
109 | X1923Y1408D03*
110 | X1785Y1408D03*
111 | X1547Y309D03*
112 | X1410Y309D03*
113 | X1272Y309D03*
114 | X1134Y309D03*
115 | X1548Y1408D03*
116 | X1411Y1408D03*
117 | X1273Y1408D03*
118 | X1135Y1408D03*
119 | X897Y209D03*
120 | X760Y209D03*
121 | X622Y209D03*
122 | X484Y209D03*
123 | X346Y209D03*
124 | X208Y209D03*
125 | X898Y1308D03*
126 | X760Y1308D03*
127 | X623Y1308D03*
128 | X485Y1308D03*
129 | X347Y1308D03*
130 | X209Y1308D03*
131 | G54D14*
132 | X347Y809D03*
133 | X348Y1908D03*
134 | X797Y809D03*
135 | X798Y1908D03*
136 | X1197Y909D03*
137 | X1198Y2008D03*
138 | X1497Y909D03*
139 | X1498Y2008D03*
140 | X1847Y909D03*
141 | X1848Y2008D03*
142 | X2147Y909D03*
143 | X2148Y2008D03*
144 | X97Y959D03*
145 | X98Y2058D03*
146 | X2447Y959D03*
147 | X2448Y2058D03*
148 | G54D10*
149 | X447Y360D03*
150 | X448Y1458D03*
151 | X147Y360D03*
152 | X148Y1458D03*
153 | X798Y360D03*
154 | X799Y1458D03*
155 | X798Y560D03*
156 | X799Y1658D03*
157 | X1846Y660D03*
158 | X1847Y1758D03*
159 | X1846Y408D03*
160 | X1847Y1506D03*
161 | X1198Y408D03*
162 | X1199Y1506D03*
163 | X1198Y660D03*
164 | X1199Y1758D03*
165 | G54D15*
166 | X2197Y309D03*
167 | X2198Y1408D03*
168 | X1547Y309D03*
169 | X1548Y1408D03*
170 | X897Y209D03*
171 | X898Y1308D03*
172 | G04 End of Mask1*
173 | M02*
--------------------------------------------------------------------------------
/Hardware/ConnectorBreakout/Gerber/ConnectorBreakout_pnp.txt:
--------------------------------------------------------------------------------
1 | *Pick And Place List
2 | *Company=
3 | *Author=
4 | *eMail=
5 | *
6 | *Project=ConnectorBreakout
7 | *Date=19:27:29
8 | *CreatedBy=Fritzing 0.9.9b.2021-09-22.CD-348-0-f0af53a9
9 | *
10 | *
11 | *Coordinates in mm, always center of component
12 | *Origin 0/0=Lower left corner of PCB
13 | *Rotation in degree (0-360, math. pos.)
14 | *
15 | *No;Value;Package;X;Y;Rotation;Side;Name
16 | 1;;;25.3563;-26.8719;0;Bottom;Hole52
17 | 2;;;11.3863;-26.8719;0;Bottom;Hole59
18 | 3;;;43.1363;-26.8719;0;Bottom;Hole33
19 | 4;;;32.9763;-26.8719;0;Bottom;Hole46
20 | 5;;;8.84633;-26.8719;0;Bottom;Hole61
21 | 6;;;54.5433;-23.1002;0;Bottom;Hole14
22 | 7;;;24.0863;-26.8719;0;Bottom;Hole49
23 | 8;;THT;34.1804;-7.35216;90;Bottom;AA' BB'2
24 | 9;;;20.3043;-42.1188;0;Bottom;Via8
25 | 10;;;57.1063;-26.8719;0;Bottom;Hole23
26 | 11;;;7.57641;-26.8719;0;Bottom;Hole60
27 | 12;;;6.30641;-26.8719;0;Bottom;Hole62
28 | 13;;;1.2265;-26.8719;0;Bottom;Hole83
29 | 14;;;36.7863;-26.8719;0;Bottom;Hole38
30 | 15;;THT;13.9033;-14.2102;90;Bottom;
31 | 16;;;38.0563;-26.8719;0;Bottom;Hole36
32 | 17;;;20.2811;-14.2171;0;Bottom;Via16
33 | 18;;;34.2463;-26.8719;0;Bottom;Hole41
34 | 19;;;54.5663;-26.8719;0;Bottom;Hole25
35 | 20;;;3.75476;-37.0411;0;Bottom;Via6
36 | 21;;;11.3714;-37.0411;0;Bottom;Via5
37 | 22;;THT;34.2464;-42.1118;90;Bottom;
38 | 23;;THT;34.2035;-35.2538;90;Bottom;AA' BB'
39 | 24;;;20.2811;-9.13932;0;Bottom;Via15
40 | 25;;;2.47336;-24.3702;0;Bottom;Hole15
41 | 26;;;8.82328;-20.5602;0;Bottom;Hole9
42 | 27;;THT;50.7333;-14.2102;90;Bottom;
43 | 28;;;11.3482;-9.13932;0;Bottom;Via13
44 | 29;;THT;52.0033;-16.7502;90;Bottom;
45 | 30;;;38.0333;-23.1002;0;Bottom;Hole12
46 | 31;;;58.3763;-26.8719;0;Bottom;Hole21
47 | 32;;;43.1779;-47.5283;0;Bottom;TXT2
48 | 33;;;48.2163;-26.8719;0;Bottom;Hole34
49 | 34;;;30.4364;-51.0018;0;Bottom;Hole4
50 | 35;;;30.4363;-26.8719;0;Bottom;Hole42
51 | 36;;;3.76641;-26.8719;0;Bottom;Hole86
52 | 37;;;30.4595;-38.2636;0;Bottom;Via11
53 | 38;;;63.4563;-26.8719;0;Bottom;Hole18
54 | 39;;THT;35.4933;-16.7502;90;Bottom;
55 | 40;;THT;15.1964;-39.5718;90;Bottom;
56 | 41;;;12.6563;-26.8719;0;Bottom;Hole57
57 | 42;;;55.8363;-26.8719;0;Bottom;Hole28
58 | 43;;;62.1863;-26.8719;0;Bottom;Hole19
59 | 44;;;5.03641;-26.8719;0;Bottom;Hole63
60 | 45;;;22.8163;-26.8719;0;Bottom;Hole48
61 | 46;;;49.4863;-26.8719;0;Bottom;Hole29
62 | 47;;;53.2963;-26.8719;0;Bottom;Hole24
63 | 48;;THT;14.1703;-4.81199;90;Bottom;1
64 | 49;;;2.49642;-52.2718;0;Bottom;Hole8
65 | 50;;;40.5963;-26.8719;0;Bottom;Hole40
66 | 51;;THT;34.2233;-14.2102;90;Bottom;
67 | 52;;;46.9463;-26.8719;0;Bottom;Hole31
68 | 53;;THT;15.1733;-11.6702;90;Bottom;
69 | 54;;THT;13.9264;-42.1118;90;Bottom;
70 | 55;;;17.7363;-26.8719;0;Bottom;Hole58
71 | 56;;;10.1163;-26.8719;0;Bottom;Hole64
72 | 57;;;15.1963;-26.8719;0;Bottom;Hole54
73 | 58;;;52.0263;-26.8719;0;Bottom;Hole26
74 | 59;;;46.9464;-51.0018;0;Bottom;Hole2
75 | 60;;;30.4363;-10.3619;0;Bottom;Via19
76 | 61;;;41.8663;-26.8719;0;Bottom;Hole35
77 | 62;;THT;14.1934;-32.7138;90;Bottom;1
78 | 63;;;54.5664;-51.0018;0;Bottom;Hole1
79 | 64;;;50.7563;-26.8719;0;Bottom;Hole27
80 | 65;;;39.3263;-26.8719;0;Bottom;Hole37
81 | 66;;;20.2763;-26.8719;0;Bottom;Hole51
82 | 67;;THT;35.5164;-44.6518;90;Bottom;
83 | 68;;THT;50.6904;-7.35216;90;Bottom;AA' BB'1
84 | 69;;;44.4063;-26.8719;0;Bottom;Hole32
85 | 70;;;35.5163;-26.8719;0;Bottom;Hole39
86 | 71;;;20.2764;-48.4618;0;Bottom;Hole5
87 | 72;;;2.49641;-26.8719;0;Bottom;Hole85
88 | 73;;;14.3707;-45.145;0;Bottom;TXT1
89 | 74;;;62.1864;-52.2718;0;Bottom;Hole7
90 | 75;;;21.5463;-26.8719;0;Bottom;Hole50
91 | 76;;;38.0564;-51.0018;0;Bottom;Hole3
92 | 77;;;31.7063;-26.8719;0;Bottom;Hole43
93 | 78;;;45.6763;-26.8719;0;Bottom;Hole30
94 | 79;;;62.1633;-24.3702;0;Bottom;Hole16
95 | 80;;;20.3043;-37.0411;0;Bottom;Via7
96 | 81;;;30.4133;-23.1002;0;Bottom;Hole11
97 | 82;;THT;50.7135;-35.2538;90;Bottom;AA' BB'
98 | 83;;;20.2533;-20.5602;0;Bottom;Hole10
99 | 84;;;59.6463;-26.8719;0;Bottom;Hole22
100 | 85;;;46.915;-44.6576;0;Bottom;Via9
101 | 86;;;30.4363;-16.7559;0;Bottom;Via20
102 | 87;;;3.7317;-9.13932;0;Bottom;Via14
103 | 88;;THT;50.7564;-42.1118;90;Bottom;
104 | 89;;;8.84642;-48.4618;0;Bottom;Hole6
105 | 90;;;27.8963;-26.8719;0;Bottom;Hole45
106 | 91;;;26.6263;-26.8719;0;Bottom;Hole47
107 | 92;;;29.1663;-26.8719;0;Bottom;Hole44
108 | 93;;;46.9233;-23.1002;0;Bottom;Hole13
109 | 94;;THT;52.0264;-44.6518;90;Bottom;
110 | 95;;;30.4595;-44.6576;0;Bottom;Via12
111 | 96;;;46.915;-38.2636;0;Bottom;Via10
112 | 97;;;46.8919;-16.7559;0;Bottom;Via17
113 | 98;;;60.9163;-26.8719;0;Bottom;Hole20
114 | 99;;;19.0063;-26.8719;0;Bottom;Hole53
115 | 100;;;13.9263;-26.8719;0;Bottom;Hole56
116 | 101;;;16.4663;-26.8719;0;Bottom;Hole55
117 | 102;;;46.8919;-10.3619;0;Bottom;Via18
118 |
--------------------------------------------------------------------------------
/Hardware/ConnectorBreakout/Gerber/ConnectorBreakout_silkBottom.gbo:
--------------------------------------------------------------------------------
1 | G04 MADE WITH FRITZING*
2 | G04 WWW.FRITZING.ORG*
3 | G04 DOUBLE SIDED*
4 | G04 HOLES PLATED*
5 | G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
6 | %ASAXBY*%
7 | %FSLAX23Y23*%
8 | %MOIN*%
9 | %OFA0B0*%
10 | %SFA1.0B1.0*%
11 | %ADD10R,2.559060X2.165350X2.543060X2.149350*%
12 | %ADD11C,0.008000*%
13 | %LNSILK0*%
14 | G90*
15 | G70*
16 | G54D11*
17 | X4Y2161D02*
18 | X2555Y2161D01*
19 | X2555Y4D01*
20 | X4Y4D01*
21 | X4Y2161D01*
22 | D02*
23 | G04 End of Silk0*
24 | M02*
--------------------------------------------------------------------------------
/Hardware/Docs/LX200CommandSet.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/Docs/LX200CommandSet.pdf
--------------------------------------------------------------------------------
/Hardware/Docs/Taki_matrix_method_rev_e.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/Docs/Taki_matrix_method_rev_e.pdf
--------------------------------------------------------------------------------
/Hardware/FocusMotors/Focusstepper_Test/Focusstepper_Test.ino:
--------------------------------------------------------------------------------
1 | #include
2 | AccelStepper raStepper(AccelStepper::DRIVER,3,2); // pin 3 connected to STEP, pin 2 connected to DIR
3 | AccelStepper deStepper(AccelStepper::DRIVER,5,4); // pin 5 connected to STEP, pin 4 connected to DIR
4 |
5 | struct kinematicParametersStruct {
6 | long steps;
7 | long maxSpeed;
8 | long acceleration;
9 | };
10 |
11 | struct kinematicParametersStruct raDriveParams;
12 | struct kinematicParametersStruct deDriveParams;
13 |
14 | //--------------------------------------------------------
15 |
16 | void setup() {
17 | pinMode(8,OUTPUT); // connected to M0
18 | pinMode(7,OUTPUT); // connected to M1
19 | pinMode(6,OUTPUT); // connected to M2 of the drv 8825 - sets microstepping for both drives
20 | pinMode(A0, OUTPUT);
21 | pinMode(A1,OUTPUT);
22 | digitalWrite(A0, LOW);
23 | digitalWrite(A1, LOW);
24 | digitalWrite(8,HIGH);
25 | digitalWrite(7,LOW);
26 | digitalWrite(6,LOW); // LLL=full, HLL=half,LHL=1/4,HHL=1/8,LLH=1/16,HLH=LHH=HHH=1/32 for the DRV8825
27 |
28 | raDriveParams.steps = 3000;
29 | raDriveParams.maxSpeed = 300;
30 | raDriveParams.acceleration = 300;
31 | deDriveParams.steps = 3000;
32 | deDriveParams.maxSpeed = 300;
33 | deDriveParams.acceleration = 300;
34 |
35 | raStepper.setMaxSpeed(raDriveParams.maxSpeed);
36 | raStepper.setAcceleration(raDriveParams.acceleration);
37 | raStepper.moveTo(raDriveParams.steps);
38 | deStepper.setMaxSpeed(deDriveParams.maxSpeed);
39 | deStepper.setAcceleration(deDriveParams.acceleration);
40 | deStepper.moveTo(deDriveParams.steps);
41 | }
42 |
43 | //---------------------------------------------------------
44 |
45 | void loop() {
46 | raStepper.run();
47 | deStepper.run();
48 | if (raStepper.isRunning() == false) {
49 | raDriveParams.steps *= -1;
50 | raStepper.moveTo(raDriveParams.steps);
51 | }
52 | if (deStepper.isRunning() == false) {
53 | deDriveParams.steps *= -1;
54 | deStepper.moveTo(deDriveParams.steps);
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/Hardware/FocusMotors/MotorBoard.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/FocusMotors/MotorBoard.fzz
--------------------------------------------------------------------------------
/Hardware/FocusMotors/TheTSCStepperProtocol:
--------------------------------------------------------------------------------
1 | Communications protocol for the Focusmotorboards
2 | W. Birkfellner, Nov. 2017, V. 0.1
3 |
4 | The stepperboards for TSC communicate via SPI or USB betwwen the Raspberry and
5 | the microcontrollers running the steppers with the AccelStepper library.
6 | so far the commands are transmitted as characters, following the convention:
7 | xyzzzzzz...
8 | where x is a character denoting the action to be taken, y is a number between
9 | 0 and 4, where therse are literals, and zzzzzz... is a string of bytes that
10 | is converted to a long integer.
11 |
12 | An example:
13 | "a1200" sets the acceleration (denoted by 'a') of the second drive ('1' instead
14 | of '0') to 200 microsteps per second.
15 |
16 | Commands that apply to all drives (such as the number of microsteps,
17 | which can only be set for both drivers) are issued
18 | without the second byte.
19 |
20 | In general, parameters have to be set, then the drive is enabled, and then it should start.
21 | Once a motion is finished, the drive is being automatically disabled.
22 |
23 | Command set:
24 | To enable or disable drives:
25 | 'exy' ... where x is the number of the drive ('0' or '1' for the focus-driver board)
26 | and y is a boolean - 1 means enable the drive (that is, power the coils up), and
27 | 0 means "disable".
28 |
29 | Setting the acceleration:
30 | axyyyyy ... where x is the number of the drive and yyyy is a long integer for the
31 | acceleration in microsteps/^2.
32 |
33 | Setting microsteps:
34 | Microsteps can only be set for groups of two drives, the command is
35 | m xxx ... xxx is either 001, 002, 004, 008, 016, 032, 064 or 128. This is the
36 | nominator of the ratio of microstepping. For instance "m 008" sets both drivers
37 | to 1/8 microstepping.
38 |
39 | Setting final velocity:
40 | vxyyyy ... where x is the drive as usual and yyyy is a long integer for microsteps/s,
41 | which is the end velocity.
42 |
43 | Setting the number of steps:
44 | sxyyy ... again, x is the driver and yyy is the number of microsteps
45 |
46 | Checking whether a board is connected:
47 | t ... this command responds with 'D', '0', '1' or 'B'. 'D' is short for the
48 | DRV 8825 and both drives are inactive. If both are running, one gets a 'B', otherwise
49 | the numeral for the active drive is sent. If 'D' is returned when 't' was sent,
50 | a board is connected.
51 |
52 | Stop a drive:
53 | xy ... y is the address of the drive.
54 |
55 | Start a drive:
56 | oy ... y is the drive. Steps, acceleration, microstepping and velocity have to
57 | be defined, and the drives have to be enabled.
58 |
59 |
60 |
61 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/Hardware/TCP_Handbox/TCP_Handbox_AdafruitFeather/TCP_Handbox.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/TCP_Handbox/TCP_Handbox_AdafruitFeather/TCP_Handbox.fzz
--------------------------------------------------------------------------------
/Hardware/TCP_Handbox/TCP_Handbox_AdafruitFeather/TCP_Handbox_Drilling_Template.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/TCP_Handbox/TCP_Handbox_AdafruitFeather/TCP_Handbox_Drilling_Template.pdf
--------------------------------------------------------------------------------
/Hardware/TCP_Handbox/TCP_Handbox_AdafruitFeather/TCP_Handbox_Faceplate.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/TCP_Handbox/TCP_Handbox_AdafruitFeather/TCP_Handbox_Faceplate.pdf
--------------------------------------------------------------------------------
/Hardware/TCP_Handbox/TCP_Handbox_LOLIND32Pro/TCP_Handbox.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/TCP_Handbox/TCP_Handbox_LOLIND32Pro/TCP_Handbox.fzz
--------------------------------------------------------------------------------
/Hardware/TSC_PartsList.ods:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/TSC_PartsList.ods
--------------------------------------------------------------------------------
/Hardware/TSC_PartsList.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/TSC_PartsList.xls
--------------------------------------------------------------------------------
/Hardware/obsolete/BluetoothHandbox/HandboxV1_2.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/obsolete/BluetoothHandbox/HandboxV1_2.fzz
--------------------------------------------------------------------------------
/Hardware/obsolete/BluetoothHandbox/sketch_handbox_TSC/sketch_handbox_TSC.ino:
--------------------------------------------------------------------------------
1 | // arduino sketch for the wireless handbox of TSC. W. Birkfellner 2017
2 | #include
3 | int nSwitch = LOW; // move north button
4 | int eSwitch = LOW;
5 | int sSwitch = LOW;
6 | int wSwitch = LOW;
7 | int ffull = LOW;
8 | int f5th = LOW;
9 | int f20th = LOW;
10 | int speedSwitch;
11 | int fSelect;
12 | int fFwd;
13 | int switchStateChanged = 0;
14 | SoftwareSerial tscHB(7,8); //RX, TX
15 |
16 | void setup() {
17 | // put your setup code here, to run once:
18 | pinMode(4,INPUT); // north
19 | pinMode(5,INPUT); // east
20 | pinMode(3,INPUT); // south
21 | pinMode(2,INPUT); // west
22 | pinMode(A0, INPUT); // full focuser step
23 | pinMode(7, INPUT); // 1/5 focuser step
24 | pinMode(6, INPUT); // 1/20 focuser step
25 | pinMode(A3,INPUT); // speed selection switch
26 | pinMode(A2, INPUT); // select focuser drive
27 | pinMode(A1, INPUT); // select focuser direction
28 | if (digitalRead(A3) == LOW) {
29 | speedSwitch=LOW;
30 | } else {
31 | speedSwitch=HIGH;
32 | }
33 | if (digitalRead(A2) == LOW) {
34 | fSelect=LOW;
35 | } else {
36 | fSelect=HIGH;
37 | }
38 | if (digitalRead(A1) == LOW) {
39 | fFwd=LOW;
40 | } else {
41 | fFwd=HIGH;
42 | }
43 |
44 | Serial.begin(9600);
45 | while (!Serial) {}
46 | tscHB.begin(9600);
47 | // while (!tscHB) {}
48 | }
49 |
50 | void loop() {
51 | if (digitalRead(4) != nSwitch) {
52 | nSwitch = digitalRead(4);
53 | switchStateChanged=1;
54 | }
55 | if (digitalRead(5) != eSwitch) {
56 | eSwitch = digitalRead(5);
57 | switchStateChanged=1;
58 | }
59 | if (digitalRead(3) != sSwitch) {
60 | sSwitch = digitalRead(3);
61 | switchStateChanged=1;
62 | }
63 | if (digitalRead(2) != wSwitch) {
64 | wSwitch = digitalRead(2);
65 | switchStateChanged=1;
66 | }
67 | if (digitalRead(A3) != speedSwitch) {
68 | speedSwitch = digitalRead(A3);
69 | switchStateChanged=1;
70 | }
71 | if (digitalRead(A2) != fSelect) {
72 | fSelect = digitalRead(A2);
73 | switchStateChanged=1;
74 | }
75 | if (digitalRead(A1) != fFwd) {
76 | fFwd = digitalRead(A1);
77 | switchStateChanged=1;
78 | }
79 | if (digitalRead(A0) != ffull) {
80 | ffull = digitalRead(A0);
81 | switchStateChanged=1;
82 | }
83 | if (digitalRead(7) != f5th) {
84 | f5th = digitalRead(7);
85 | switchStateChanged=1;
86 | }
87 | if (digitalRead(6) != f20th) {
88 | f20th = digitalRead(6);
89 | switchStateChanged=1;
90 | }
91 |
92 | if (switchStateChanged == 1) {
93 | Serial.print(nSwitch);
94 | Serial.print(eSwitch);
95 | Serial.print(sSwitch);
96 | Serial.print(wSwitch);
97 | Serial.print(speedSwitch);
98 | Serial.print(fSelect);
99 | Serial.print(fFwd);
100 | Serial.print(ffull);
101 | Serial.print(f5th);
102 | Serial.println(f20th);
103 | tscHB.print(nSwitch);
104 | tscHB.print(eSwitch);
105 | tscHB.print(sSwitch);
106 | tscHB.print(wSwitch);
107 | tscHB.print(speedSwitch);
108 | tscHB.print(fSelect);
109 | tscHB.print(fFwd);
110 | tscHB.print(ffull);
111 | tscHB.print(f5th);
112 | tscHB.println(f20th);
113 | }
114 | delay(50);
115 | switchStateChanged=0;
116 | }
117 |
--------------------------------------------------------------------------------
/Hardware/obsolete/TSC_PiHat_ILD_V1_5.1.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/obsolete/TSC_PiHat_ILD_V1_5.1.fzz
--------------------------------------------------------------------------------
/Hardware/obsolete/Teensy3_5/AMIS30543_Teensy_1_3.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/obsolete/Teensy3_5/AMIS30543_Teensy_1_3.fzz
--------------------------------------------------------------------------------
/Hardware/obsolete/USB_TSC_TeensySlave/Bigger4DriveBoardV1.1.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Hardware/obsolete/USB_TSC_TeensySlave/Bigger4DriveBoardV1.1.fzz
--------------------------------------------------------------------------------
/Hardware/obsolete/USB_TSC_TeensySlave/DRVTeensyTest.ino:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | AccelStepper deStepper(AccelStepper::DRIVER,A4,A5);
4 | AccelStepper raStepper(AccelStepper::DRIVER,A7,A8);
5 | AccelStepper aux1Stepper(AccelStepper::DRIVER,A18,A19);
6 | AccelStepper aux2Stepper(AccelStepper::DRIVER,A13,A12);
7 |
8 |
9 | void setup() {
10 | Serial.begin(115200);
11 |
12 | pinMode(A0,OUTPUT);// enable de
13 | digitalWrite(A0,HIGH);
14 | pinMode(A6,OUTPUT);// enable ra
15 | digitalWrite(A0,HIGH);
16 | pinMode(A14,OUTPUT);// enable aux1
17 | digitalWrite(A14,HIGH);
18 | pinMode(A20,OUTPUT); //enable aux2
19 | digitalWrite(A20,HIGH);
20 |
21 | pinMode(A1,OUTPUT); // connected to M0
22 | pinMode(A2,OUTPUT); // connected to M1
23 | pinMode(A3, OUTPUT);// connected to M2 of the drv 8825 - sets microstepping for both main drives
24 | digitalWrite(A1,HIGH);
25 | digitalWrite(A2,HIGH);
26 | digitalWrite(A3,LOW); // LLL=full, HLL=half,LHL=1/4,HHL=1/8,LLH=1/16,HLH=LHH=HHH=1/32 for the DRV8825
27 |
28 | pinMode(A15,OUTPUT); // connected to M0
29 | pinMode(A16,OUTPUT); // connected to M1
30 | pinMode(A17, OUTPUT);// connected to M2 of the drv 8825 - sets microstepping for both aux drives
31 | digitalWrite(A15,HIGH);
32 | digitalWrite(A16,HIGH);
33 | digitalWrite(A17,LOW); // LLL=full, HLL=half,LHL=1/4,HHL=1/8,LLH=1/16,HLH=LHH=HHH=1/32 for the DRV8825
34 |
35 | deStepper.setMaxSpeed(2000);
36 | deStepper.setAcceleration(3000);
37 | deStepper.setCurrentPosition(0);
38 | digitalWrite(A0,LOW);
39 | deStepper.moveTo(50000);
40 |
41 | raStepper.setMaxSpeed(2000);
42 | raStepper.setAcceleration(3000);
43 | raStepper.setCurrentPosition(0);
44 | digitalWrite(A6,LOW);
45 | raStepper.moveTo(50000);
46 |
47 | aux1Stepper.setMaxSpeed(2000);
48 | aux1Stepper.setAcceleration(2000);
49 | aux1Stepper.setCurrentPosition(0);
50 | digitalWrite(A14,LOW);
51 | aux1Stepper.moveTo(50000);
52 |
53 | aux2Stepper.setMaxSpeed(2000);
54 | aux2Stepper.setAcceleration(2000);
55 | aux2Stepper.setCurrentPosition(0);
56 | digitalWrite(A20,LOW);
57 | aux2Stepper.moveTo(50000);
58 | }
59 |
60 | void loop() {
61 | deStepper.run();
62 | raStepper.run();
63 | aux1Stepper.run();
64 | aux2Stepper.run();
65 | if (aux2Stepper.isRunning() == false) {
66 | digitalWrite(A20,HIGH);
67 | }
68 | if (aux1Stepper.isRunning() == false) {
69 | digitalWrite(A14,HIGH);
70 | Serial.println("A14 is HIGH");
71 | }
72 | if (deStepper.isRunning() == false) {
73 | digitalWrite(A0,HIGH);
74 | }
75 | if (raStepper.isRunning() == false) {
76 | digitalWrite(A6,HIGH);
77 | }
78 |
79 | }
80 |
--------------------------------------------------------------------------------
/Hardware/obsolete/USB_TSC_TeensySlave/TheTSCStepperProtocolForTheQuadDriverBoard:
--------------------------------------------------------------------------------
1 | Communications protocol for the Quad-Driver motorboard
2 | W. Birkfellner, Dec. 2017, V. 0.1
3 |
4 | The Quad-stepperboards communicate via USB between the host computer and
5 | the Teensy 3.6 running the steppers with the AccelStepper library.
6 | so far the commands are transmitted as characters, following the convention:
7 | xyzzzzzz...
8 | where x is a character denoting the action to be taken, y is a number between
9 | 0 and 4, where therse are literals, and zzzzzz... is a string of bytes that
10 | is converted to a long integer.
11 |
12 | An example:
13 | "a1200" sets the acceleration (denoted by 'a') of the second drive ('1' instead
14 | of '0') to 200 microsteps per second.
15 |
16 | Commands that apply to all drives (such as the request for the drive state) are given without additional bytes
17 |
18 | In general, parameters have to be set, then the drive is enabled, and then ist should start.
19 | Once a motion is finished, the drive is being automatically disabled.
20 |
21 | Command set:
22 | To enable or disable drives:
23 | 'exy' ... where x is the number of the drive ('0' or '1' for the focus-driver board)
24 | and y is a boolean - 1 means enable the drive (that is, power the coils up), and
25 | 0 means "disable".
26 |
27 | Setting the acceleration:
28 | axyyyyy ... where x is the number of the drive and yyyy is a long integer for the
29 | acceleration in microsteps/^2.
30 |
31 | Setting microsteps:
32 | Microsteps can only be set for groups of two drives, the command is
33 | mxyyy ... x is 0 or 1, in dependence of the drive group (main drives are 0, aux drives are 1)
34 | xxx is either 001, 002, 004, 008, 016, 032, 064 or 128. This is the
35 | nominator of the ratio of microstepping. For instance "m0008" sets both drivers for the main drives
36 | to 1/8 microstepping.
37 |
38 | Setting final velocity:
39 | vxyyyy ... where x is the drive as usual and yyyy is a long integer for microsteps/s,
40 | which is the end velocity.
41 |
42 | Setting the number of steps:
43 | sxyyy ... again, x is the driver and yyy is the number of microsteps
44 |
45 | Checking whether a board is connected:
46 | t ... this command responds with a string xxxx where the position indicates the drive addressed and x is either
47 | 0 or 1 in dependce of the drive state. 1 means that the drive is running.
48 |
49 | Stop a drive:
50 | xy ... y is the address of the drive.
51 |
52 | Start a drive:
53 | oy ... y is the drive. Steps, acceleration, microstepping and velocity have to
54 | be defined, and the drives have to be enabled.
55 |
56 |
57 |
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/Manual_Imagedata/creator-compilers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Manual_Imagedata/creator-compilers.png
--------------------------------------------------------------------------------
/Manual_Imagedata/creator-kits.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/Manual_Imagedata/creator-kits.png
--------------------------------------------------------------------------------
/QuickstarterDocs/QuickstartCompile.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/QuickstarterDocs/QuickstartCompile.odt
--------------------------------------------------------------------------------
/QuickstarterDocs/QuickstartCompile.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/QuickstarterDocs/QuickstartCompile.pdf
--------------------------------------------------------------------------------
/QuickstarterDocs/TSC_DEMO_README.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/QuickstarterDocs/TSC_DEMO_README.odt
--------------------------------------------------------------------------------
/QuickstarterDocs/TSC_DEMO_README.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/QuickstarterDocs/TSC_DEMO_README.pdf
--------------------------------------------------------------------------------
/QuickstarterDocs/TSC_Quickstart.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/QuickstarterDocs/TSC_Quickstart.odt
--------------------------------------------------------------------------------
/QuickstarterDocs/TSC_Quickstart.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/QuickstarterDocs/TSC_Quickstart.pdf
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # TwoStepperControl
2 |
3 | ## Introduction
4 | TSC (TwinStepperControl) is a software project by Wolfgang Birkfellner and Steffen Elste to realize an open integrated control system for large and heavy astronomical telescopes. The basic idea is to use a Raspberry Pi to control a telescope and to provide basic autoguiding functionality without additional external computers. As Raspian is not an RTOS, it cannot control stepper drivers directly like a microcontroller; therefore, extra hardware is necessary which receives basic parameters (number of steps, velocity, acceleration) from the software. We are currently using AMIS 30543 bipolar driver boards with 3A maximum current per coil and a maximum voltage of 30 V.
5 |
6 | ## Features
7 | TSC basically provides the following functionality
8 | - Telescope tracking and GOTO using internal catalogs for german equatorial and fork mounts in the higher range - up to NEMA 34
9 | steppers are used
10 | - Telescope control via LX200 - both USB/Ethernet and WLAN are supported. In the absence of a WLAN-access point, TSC opens a WLAN network of its own to connect to tablets, cell phones and other computers. Namely, control via SkySafari aon iOS and Android is provided.
11 | - Remote control via VNC (Virtual Network Clients).
12 | - DSLR control including dithering.
13 | - Support for two additional focuser motors.
14 | - Free customization of drives and gears with microstepping ratios between 1/128 and 1/4.
15 | - Image acquisition and autoguiding from guiding cameras via INDI.
16 | - Integrated plate solving via local instalation of Astrometry.net
17 | - Autoguiding integrated on the controller.
18 | - ST4 is also supported
19 |
20 | ## Documentation
21 | Because we - not intentionally - messed this up a bit in the past we're setting up a dedicated repository/site for documentation:
22 | [TwoStepperControl Documentation](https://tscatm.wordpress.com/)
23 | Please also take a closer look at the manual, which covers all aspects of usage and assembly. However, with the switch to the AMIS drivers, things are in motion
24 |
25 | The [Wiki](https://github.com/selste/TwoStepperControl/wiki) in this repository will henceforth only deal with information regarding compilation (and the setup required) and related stuff.
26 |
--------------------------------------------------------------------------------
/TSCUserGuide.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/selste/TwoStepperControl/063bb86010c20d847d1c8d66e6a41ec7882ce5b7/TSCUserGuide.pdf
--------------------------------------------------------------------------------