Skip to content

Commit 82e42ad

Browse files
Merge pull request #35 from ClutchplateDude/oatcontrol
Oatcontrol, Easy stepper inversion
2 parents 47f0bc1 + 4a6ada7 commit 82e42ad

File tree

4 files changed

+84
-31
lines changed

4 files changed

+84
-31
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,9 @@ MigrationBackup/
349349
# Ionide (cross platform F# VS Code tools) working folder
350350
.ionide/
351351

352+
# VSCode auto-generated config folder
353+
.vscode/
354+
352355
Software/OpenAstroTracker ASCOM/OpenAstroTracker ASCOM/bin/
353356
Software/OpenAstroTracker ASCOM/OAT PC Control/bin
354357
Software/PC control/bin

Software/Arduino code/OpenAstroTracker/Globals.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ extern int PolarisRASecond;
2424
// Uncomment to run a key diagnostic. No tracker functions are on at all.
2525
// #define LCD_BUTTON_TEST
2626

27+
// Uncomment to reverse the direction of RA motor
28+
//#define INVERT_RA_DIR
29+
30+
// Uncomment to reverse the direction of DEC motor
31+
//#define INVERT_DEC_DIR
32+
2733
////////////////////////////////////////////////////////////////
2834
//
2935
// FEATURE SUPPORT SECTION
@@ -90,7 +96,7 @@ extern int PolarisRASecond;
9096

9197
// If we are making a headleass (no screen, no keyboard) client, always enable Serial.
9298
#ifdef HEADLESS_CLIENT
93-
#define SUPPORT_SERIAL_CONTROL
99+
#define SUPPORT_SERIAL_CONTROL
94100
#endif
95101

96102
#endif

Software/Arduino code/OpenAstroTracker/OpenAstroTracker.ino

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ int RAStepsPerDegree = (RACircumference / (RAPulleyTeeth * 2.0) * StepsPerRevolu
5555

5656
int DECStepsPerDegree = (565.5 / (DecPulleyTeeth * 2.0) * StepsPerRevolution / 360.0);
5757

58-
5958
float speed = 1.000; // Use this value to slightly increase or decrese tracking speed. The values from the "CAL" menu will be added to this.
6059

6160
int RAspeed = 400; // You can change the speed and acceleration of the steppers here. Max. Speed = 600. High speeds tend to make

Software/Arduino code/OpenAstroTracker/a_inits.ino

Lines changed: 74 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -18,47 +18,92 @@
1818

1919
#ifdef ESP8266
2020
// RA Motor pins
21-
#define RAmotorPin1 D0 // IN1 auf ULN2003 driver 1 // 2 / 22
22-
#define RAmotorPin3 D1 // IN2 auf ULN2003 driver 1 // 3 / 24d
23-
#define RAmotorPin2 D2 // IN3 auf ULN2003 driver 1 // 11 / 26
24-
#define RAmotorPin4 D3 // IN4 auf ULN2003 driver 1 // 12 / 28
21+
#ifdef INVERT_RA_DIR
22+
#define RAmotorPin1 D0 // IN1 auf ULN2003 driver 1
23+
#define RAmotorPin3 D1 // IN2 auf ULN2003 driver 1
24+
#define RAmotorPin2 D2 // IN3 auf ULN2003 driver 1
25+
#define RAmotorPin4 D3 // IN4 auf ULN2003 driver 1
26+
#else
27+
#define RAmotorPin1 D3 // IN1 auf ULN2003 driver 1
28+
#define RAmotorPin3 D2 // IN2 auf ULN2003 driver 1
29+
#define RAmotorPin2 D1 // IN3 auf ULN2003 driver 1
30+
#define RAmotorPin4 D0 // IN4 auf ULN2003 driver 1
31+
#endif
2532

2633
// DEC Motor pins
27-
#define DECmotorPin1 D5 // IN1 auf ULN2003 driver 2
28-
#define DECmotorPin3 D6 // IN3 auf ULN2003 driver 2
29-
#define DECmotorPin2 D7 // IN2 auf ULN2003 driver 2
30-
#define DECmotorPin4 D8 // IN4 auf ULN2003 driver 2
34+
#ifdef INVERT_DEC_DIR
35+
#define DECmotorPin1 D5 // IN1 auf ULN2003 driver 2
36+
#define DECmotorPin2 D6 // IN2 auf ULN2003 driver 2
37+
#define DECmotorPin3 D7 // IN3 auf ULN2003 driver 2
38+
#define DECmotorPin4 D8 // IN4 auf ULN2003 driver 2
39+
#else
40+
#define DECmotorPin1 D8 // IN1 auf ULN2003 driver 2
41+
#define DECmotorPin2 D7 // IN2 auf ULN2003 driver 2
42+
#define DECmotorPin3 D6 // IN3 auf ULN2003 driver 2
43+
#define DECmotorPin4 D5 // IN4 auf ULN2003 driver 2
44+
#endif
3145

3246
// ST4 Input Pins - TODO.
33-
#define st4North SD0
34-
#define st4South SD1
35-
#define st4West SD2
36-
#define st4East SD3
47+
#define st4North SD0
48+
#define st4South SD1
49+
#define st4West SD2
50+
#define st4East SD3
3751
#endif
3852

3953
#ifdef __AVR_ATmega328P__ // normal Arduino Mapping
40-
#define RAmotorPin1 2 // IN1 auf ULN2003 driver 1 // 2 / 22
41-
#define RAmotorPin3 3 // IN2 auf ULN2003 driver 1 // 3 / 24
42-
#define RAmotorPin2 11 // IN3 auf ULN2003 driver 1 // 11 / 26
43-
#define RAmotorPin4 12 // IN4 auf ULN2003 driver 1 // 12 / 28
54+
// RA Motor pins
55+
#ifdef INVERT_RA_DIR
56+
#define RAmotorPin1 12 // IN1 auf ULN2003 driver 1
57+
#define RAmotorPin3 11 // IN2 auf ULN2003 driver 1
58+
#define RAmotorPin2 3 // IN3 auf ULN2003 driver 1
59+
#define RAmotorPin4 2 // IN4 auf ULN2003 driver 1
60+
#else
61+
#define RAmotorPin1 2 // IN1 auf ULN2003 driver 1
62+
#define RAmotorPin3 3 // IN2 auf ULN2003 driver 1
63+
#define RAmotorPin2 11 // IN3 auf ULN2003 driver 1
64+
#define RAmotorPin4 12 // IN4 auf ULN2003 driver 1
65+
#endif
4466

4567
// DEC Motor pins
46-
#define DECmotorPin1 15 // IN1 auf ULN2003 driver 2
47-
#define DECmotorPin3 16 // IN3 auf ULN2003 driver 2
48-
#define DECmotorPin2 17 // IN2 auf ULN2003 driver 2
49-
#define DECmotorPin4 18 // IN4 auf ULN2003 driver 2
68+
#ifdef INVERT_DEC_DIR
69+
#define DECmotorPin1 18 // IN1 auf ULN2003 driver 2
70+
#define DECmotorPin2 16 // IN2 auf ULN2003 driver 2
71+
#define DECmotorPin3 17 // IN3 auf ULN2003 driver 2
72+
#define DECmotorPin4 15 // IN4 auf ULN2003 driver 2
73+
#else
74+
#define DECmotorPin1 15 // IN1 auf ULN2003 driver 2
75+
#define DECmotorPin2 17 // IN2 auf ULN2003 driver 2
76+
#define DECmotorPin3 16 // IN3 auf ULN2003 driver 2
77+
#define DECmotorPin4 18 // IN4 auf ULN2003 driver 2
78+
#endif
5079
#endif
5180

5281
#ifdef __AVR_ATmega2560__ // Arduino Mega
53-
#define RAmotorPin1 22 // IN1 auf ULN2003 driver 1 // 2 / 22
54-
#define RAmotorPin3 24 // IN2 auf ULN2003 driver 1 // 3 / 24
55-
#define RAmotorPin2 26 // IN3 auf ULN2003 driver 1 // 11 / 26
56-
#define RAmotorPin4 28 // IN4 auf ULN2003 driver 1 // 12 / 28
57-
58-
#define DECmotorPin1 30 // IN1 auf ULN2003 driver 2
59-
#define DECmotorPin3 32 // IN3 auf ULN2003 driver 2
60-
#define DECmotorPin2 34 // IN2 auf ULN2003 driver 2
61-
#define DECmotorPin4 36 // IN4 auf ULN2003 driver 2
82+
// RA Motor pins
83+
#ifdef INVERT_RA_DIR
84+
#define RAmotorPin1 22 // IN1 auf ULN2003 driver 1
85+
#define RAmotorPin3 24 // IN2 auf ULN2003 driver 1
86+
#define RAmotorPin2 26 // IN3 auf ULN2003 driver 1
87+
#define RAmotorPin4 28 // IN4 auf ULN2003 driver 1
88+
#else
89+
#define RAmotorPin1 28 // IN1 auf ULN2003 driver 1
90+
#define RAmotorPin3 26 // IN2 auf ULN2003 driver 1
91+
#define RAmotorPin2 24 // IN3 auf ULN2003 driver 1
92+
#define RAmotorPin4 22 // IN4 auf ULN2003 driver 1
93+
#endif
94+
95+
// DEC Motor pins
96+
#ifdef INVERT_DEC_DIR
97+
#define DECmotorPin1 30 // IN1 auf ULN2003 driver 2
98+
#define DECmotorPin2 32 // IN2 auf ULN2003 driver 2
99+
#define DECmotorPin3 34 // IN3 auf ULN2003 driver 2
100+
#define DECmotorPin4 36 // IN4 auf ULN2003 driver 2
101+
#else
102+
#define DECmotorPin1 36 // IN1 auf ULN2003 driver 2
103+
#define DECmotorPin2 34 // IN2 auf ULN2003 driver 2
104+
#define DECmotorPin3 32 // IN3 auf ULN2003 driver 2
105+
#define DECmotorPin4 30 // IN4 auf ULN2003 driver 2
106+
#endif
62107
#endif
63108

64109
// Menu IDs

0 commit comments

Comments
 (0)