Teacup_Firmware/simulation.h

85 lines
1.3 KiB
C

#if !defined _SIMULATION_H && defined SIMULATION
#define _SIMULATION_H
#include <stdint.h>
#include <stdbool.h>
#define PROGMEM
#define PGM_P const char *
#define PSTR(x) (x)
#define pgm_read_byte(x) (*((uint8_t *)(x)))
#define pgm_read_word(x) (*((uint16_t *)(x)))
#define MASK(PIN) (1 << PIN)
#define ACD 7
#define OCIE1A 1
#undef X_STEP_PIN
#undef X_DIR_PIN
#undef X_MIN_PIN
#undef Y_STEP_PIN
#undef Y_DIR_PIN
#undef Y_MIN_PIN
#undef Z_STEP_PIN
#undef Z_DIR_PIN
#undef Z_MIN_PIN
#undef E_STEP_PIN
#undef E_DIR_PIN
#undef STEPPER_ENABLE_PIN
#undef HEATER_PIN
#undef FAN_PIN
#undef HEATER_PWM
#undef FAN_PWM
typedef enum {
X_STEP_PIN,
X_DIR_PIN,
X_MIN_PIN,
Y_STEP_PIN,
Y_DIR_PIN,
Y_MIN_PIN,
Z_STEP_PIN,
Z_DIR_PIN,
Z_MIN_PIN,
E_STEP_PIN,
E_DIR_PIN,
STEPPER_ENABLE_PIN,
SCK,
MOSI,
MISO,
SS,
PIN_NB
} pin_t;
#undef TEMP_PIN_CHANNEL
#define TEMP_PIN_CHANNEL 0
extern uint8_t ACSR;
extern uint8_t TIMSK1;
extern volatile bool sim_interrupts;
void WRITE(pin_t pin, bool on);
void SET_OUTPUT(pin_t pin);
void SET_INPUT(pin_t pin);
void sei(void);
#ifdef USE_WATCHDOG
#define wd_init()
#define wd_reset()
#endif
void sim_info(const char fmt[], ...);
void sim_error(const char msg[]);
void sim_assert(bool cond, const char msg[]);
#define ATOMIC_BLOCK(n) if (n)
#define ATOMIC_RESTORESTATE 1
#endif /* _SIMULATION_H */