81 lines
1.4 KiB
C
81 lines
1.4 KiB
C
#ifndef _PINOUT_H
|
|
#define _PINOUT_H
|
|
|
|
#include "arduino.h"
|
|
|
|
#ifndef MASK
|
|
#define MASK(PIN) (1 << PIN)
|
|
#endif
|
|
|
|
#define _PIN(P) #P
|
|
|
|
#define READ(IO) (RPORT_ ## IO & MASK(PIN_ ## IO))
|
|
#define WRITE(IO, v) if (v) { WPORT_ ## IO |= MASK(PIN_ ## IO); } else { WPORT_ ## IO &= ~MASK(PIN_ ## IO); }
|
|
#define SET_INPUT(IO) (DDR_ ## IO |= MASK(PIN_ ## IO))
|
|
#define SET_OUTPUT(IO) (DDR_ ## IO &= ~MASK(PIN ## IO))
|
|
|
|
// #define X_STEP_PIN DIO0
|
|
// #define X_DIR_PIN DIO1
|
|
// #define X_MIN_MIN DIO2
|
|
// #define X_MAX_PIN DIO3
|
|
|
|
// #define Y_STEP_PIN DIO4
|
|
// #define Y_DIR_PIN DIO5
|
|
// #define Y_MIN_MIN DIO6
|
|
// #define Y_MAX_PIN DIO7
|
|
|
|
// #define Z_STEP_PIN DIO8
|
|
// #define Z_DIR_PIN DIO9
|
|
// #define Z_MIN_MIN DIO10
|
|
// #define Z_MAX_PIN DIO11
|
|
|
|
// #define E_STEP_PIN DIO12
|
|
// #define E_DIR_PIN DIO13
|
|
|
|
void x_step(void);
|
|
void y_step(void);
|
|
void z_step(void);
|
|
void e_step(void);
|
|
|
|
inline void x_direction(uint8_t dir) {
|
|
WRITE(DIO1, dir);
|
|
}
|
|
|
|
inline uint8_t x_min(void) {
|
|
return READ(DIO2);
|
|
}
|
|
|
|
inline uint8_t x_max(void) {
|
|
return READ(DIO3);
|
|
}
|
|
|
|
inline void y_direction(uint8_t dir) {
|
|
WRITE(DIO5, dir);
|
|
}
|
|
|
|
inline uint8_t y_min(void) {
|
|
return READ(DIO6);
|
|
}
|
|
|
|
inline uint8_t y_max(void) {
|
|
return READ(DIO7);
|
|
}
|
|
|
|
inline void z_direction(uint8_t dir) {
|
|
WRITE(DIO9, dir);
|
|
}
|
|
|
|
inline uint8_t z_min(void) {
|
|
return READ(DIO10);
|
|
}
|
|
|
|
inline uint8_t z_max(void) {
|
|
return READ(DIO11);
|
|
}
|
|
|
|
inline void e_direction(uint8_t dir) {
|
|
WRITE(DIO13, dir);
|
|
}
|
|
|
|
#endif /* _PINOUT_H */
|