Prusa MINI Firmware overview
wiring_digital.c File Reference
#include "wiring_digital.h"

Functions

int hwio_arduino_digitalRead (uint32_t ulPin)
 
void hwio_arduino_digitalWrite (uint32_t ulPin, uint32_t ulVal)
 
void hwio_arduino_digitalToggle (uint32_t ulPin)
 
void hwio_arduino_pinMode (uint32_t ulPin, uint32_t ulMode)
 
void digitalWrite (uint32_t ulPin, uint32_t ulVal)
 
int digitalRead (uint32_t ulPin)
 
void digitalToggle (uint32_t ulPin)
 
void pinMode (uint32_t ulPin, uint32_t ulMode)
 

Function Documentation

◆ hwio_arduino_digitalRead()

int hwio_arduino_digitalRead ( uint32_t  ulPin)
620  {
621  if (HAL_GPIO_Initialized) {
622  switch (ulPin) {
623 #ifdef SIM_MOTION
624  case PIN_Z_MIN:
625  return sim_motion_get_min_end(2);
626  case PIN_E_DIAG:
627  return sim_motion_get_diag(3);
628  case PIN_Y_DIAG:
629  return sim_motion_get_diag(1);
630  case PIN_X_DIAG:
631  return sim_motion_get_diag(0);
632  case PIN_Z_DIAG:
633  return sim_motion_get_diag(2);
634 #else //SIM_MOTION
635  case PIN_Z_MIN:
636  return hwio_di_get_val(_DI_Z_MIN);
637  case PIN_E_DIAG:
638  return hwio_di_get_val(_DI_E_DIAG);
639  case PIN_Y_DIAG:
640  return hwio_di_get_val(_DI_Y_DIAG);
641  case PIN_X_DIAG:
642  return hwio_di_get_val(_DI_X_DIAG);
643  case PIN_Z_DIAG:
644  return hwio_di_get_val(_DI_Z_DIAG);
645 #endif //SIM_MOTION
646  case PIN_BTN_ENC:
648  case PIN_BTN_EN1:
650  case PIN_BTN_EN2:
652  case PIN_Z_DIR:
653  return hwio_do_get_val(_DO_Z_DIR);
654  default:
655  hwio_arduino_error(HWIO_ERR_UNDEF_DIG_RD, ulPin); //error: undefined pin digital read
656  }
657  } else
658  hwio_arduino_error(HWIO_ERR_UNINI_DIG_RD, ulPin); //error: uninitialized digital read
659  return 0;
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hwio_arduino_digitalWrite()

void hwio_arduino_digitalWrite ( uint32_t  ulPin,
uint32_t  ulVal 
)
662  {
663  if (HAL_GPIO_Initialized) {
664  switch (ulPin) {
665  case PIN_BEEPER:
666  return;
667  case PIN_HEATER_BED:
668  //hwio_heater_set_pwm(_HEATER_BED, ulVal?255:0);
669 #ifdef SIM_HEATER_BED_ADC
670  if (adc_sim_msk & (1 << SIM_HEATER_BED_ADC))
671  sim_bed_set_power(ulVal ? 100 : 0);
672  else
673 #endif //SIM_HEATER_BED_ADC
675  return;
676  case PIN_HEATER_0:
677  //hwio_heater_set_pwm(_HEATER_0, ulVal?255:0);
678 #ifdef SIM_HEATER_NOZZLE_ADC
679  if (adc_sim_msk & (1 << SIM_HEATER_NOZZLE_ADC))
680  sim_nozzle_set_power(ulVal ? 40 : 0);
681  else
682 #endif //SIM_HEATER_NOZZLE_ADC
684  return;
685  case PIN_FAN1:
686  //hwio_fan_set_pwm(_FAN1, ulVal?255:0);
687  //_hwio_pwm_analogWrite_set_val(HWIO_PWM_FAN1, ulVal ? _pwm_analogWrite_max[HWIO_PWM_FAN1] : 0);
689  return;
690  case PIN_FAN:
692  return;
693 #ifdef SIM_MOTION
694  case PIN_X_DIR:
695  sim_motion_set_dir(0, ulVal ? 1 : 0);
696  return;
697  case PIN_X_STEP:
698  sim_motion_set_stp(0, ulVal ? 1 : 0);
699  return;
700  case PIN_Z_ENABLE:
701  sim_motion_set_ena(2, ulVal ? 1 : 0);
702  return;
703  case PIN_X_ENABLE:
704  sim_motion_set_ena(0, ulVal ? 1 : 0);
705  return;
706  case PIN_Z_STEP:
707  sim_motion_set_stp(2, ulVal ? 1 : 0);
708  return;
709  case PIN_E_DIR:
710  sim_motion_set_dir(3, ulVal ? 1 : 0);
711  return;
712  case PIN_E_STEP:
713  sim_motion_set_stp(3, ulVal ? 1 : 0);
714  return;
715  case PIN_E_ENABLE:
716  sim_motion_set_ena(3, ulVal ? 1 : 0);
717  return;
718  case PIN_Y_DIR:
719  sim_motion_set_dir(1, ulVal ? 1 : 0);
720  return;
721  case PIN_Y_STEP:
722  sim_motion_set_stp(1, ulVal ? 1 : 0);
723  return;
724  case PIN_Y_ENABLE:
725  sim_motion_set_ena(1, ulVal ? 1 : 0);
726  return;
727  case PIN_Z_DIR:
728  sim_motion_set_dir(2, ulVal ? 1 : 0);
729  return;
730 #else //SIM_MOTION
731  case PIN_X_DIR:
732  hwio_do_set_val(_DO_X_DIR, ulVal ? 1 : 0);
733  return;
734  case PIN_X_STEP:
735  hwio_do_set_val(_DO_X_STEP, ulVal ? 1 : 0);
736  return;
737  case PIN_Z_ENABLE:
738  hwio_do_set_val(_DO_Z_ENABLE, ulVal ? 1 : 0);
739  return;
740  case PIN_X_ENABLE:
741  hwio_do_set_val(_DO_X_ENABLE, ulVal ? 1 : 0);
742  return;
743  case PIN_Z_STEP:
744  hwio_do_set_val(_DO_Z_STEP, ulVal ? 1 : 0);
745  return;
746  case PIN_E_DIR:
747  hwio_do_set_val(_DO_E_DIR, ulVal ? 1 : 0);
748  return;
749  case PIN_E_STEP:
750  hwio_do_set_val(_DO_E_STEP, ulVal ? 1 : 0);
751  return;
752  case PIN_E_ENABLE:
753  hwio_do_set_val(_DO_E_ENABLE, ulVal ? 1 : 0);
754  return;
755  case PIN_Y_DIR:
756  hwio_do_set_val(_DO_Y_DIR, ulVal ? 1 : 0);
757  return;
758  case PIN_Y_STEP:
759  hwio_do_set_val(_DO_Y_STEP, ulVal ? 1 : 0);
760  return;
761  case PIN_Y_ENABLE:
762  hwio_do_set_val(_DO_Y_ENABLE, ulVal ? 1 : 0);
763  return;
764  case PIN_Z_DIR:
765  hwio_do_set_val(_DO_Z_DIR, ulVal ? 1 : 0);
766  return;
767 #endif //SIM_MOTION
768  default:
769  hwio_arduino_error(HWIO_ERR_UNDEF_DIG_WR, ulPin); //error: undefined pin digital write
770  }
771  } else
772  hwio_arduino_error(HWIO_ERR_UNINI_DIG_WR, ulPin); //error: uninitialized digital write
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hwio_arduino_digitalToggle()

void hwio_arduino_digitalToggle ( uint32_t  ulPin)
775  {
777  // TODO test me
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hwio_arduino_pinMode()

void hwio_arduino_pinMode ( uint32_t  ulPin,
uint32_t  ulMode 
)
821  {
822  // not supported, all pins are configured with Cube
Here is the caller graph for this function:

◆ digitalWrite()

void digitalWrite ( uint32_t  ulPin,
uint32_t  ulVal 
)
10  {
11  hwio_arduino_digitalWrite(ulPin, ulVal);
12 }
Here is the call graph for this function:

◆ digitalRead()

int digitalRead ( uint32_t  ulPin)
14  {
15  return hwio_arduino_digitalRead(ulPin);
16 }
Here is the call graph for this function:

◆ digitalToggle()

void digitalToggle ( uint32_t  ulPin)
18  {
20 }
Here is the call graph for this function:

◆ pinMode()

void pinMode ( uint32_t  ulPin,
uint32_t  ulMode 
)
22  {
23  hwio_arduino_pinMode(ulPin, ulMode);
24 }
Here is the call graph for this function:
Here is the caller graph for this function:
_DO_Z_STEP
#define _DO_Z_STEP
Definition: hwio_a3ides.h:23
PIN_X_DIR
#define PIN_X_DIR
Definition: hwio_pindef.h:18
PIN_E_DIR
#define PIN_E_DIR
Definition: hwio_pindef.h:33
_DI_BTN_ENC
#define _DI_BTN_ENC
Definition: hwio_a3ides.h:14
PIN_E_ENABLE
#define PIN_E_ENABLE
Definition: hwio_pindef.h:35
sim_motion_get_min_end
int sim_motion_get_min_end(uint8_t axis)
PIN_FAN
#define PIN_FAN
Definition: hwio_pindef.h:39
_DI_X_DIAG
#define _DI_X_DIAG
Definition: hwio_a3ides.h:12
HWIO_PWM_HEATER_0
#define HWIO_PWM_HEATER_0
Definition: hwio_a3ides.h:55
sim_motion_get_diag
int sim_motion_get_diag(uint8_t axis)
PIN_Z_DIAG
#define PIN_Z_DIAG
Definition: hwio_pindef.h:31
_DI_Z_MIN
#define _DI_Z_MIN
Definition: hwio_a3ides.h:9
_DI_Y_DIAG
#define _DI_Y_DIAG
Definition: hwio_a3ides.h:11
_hwio_pwm_analogWrite_set_val
void _hwio_pwm_analogWrite_set_val(int i_pwm, int val)
Definition: hwio_a3ides_2209_02.c:429
hwio_do_set_val
void hwio_do_set_val(int i_do, int val)
Definition: hwio_a3ides_2209_02.c:223
PIN_HEATER_0
#define PIN_HEATER_0
Definition: hwio_pindef.h:14
PIN_BTN_EN2
#define PIN_BTN_EN2
Definition: hwio_pindef.h:42
_DO_Y_STEP
#define _DO_Y_STEP
Definition: hwio_a3ides.h:28
HWIO_ERR_UNDEF_DIG_WR
#define HWIO_ERR_UNDEF_DIG_WR
Definition: hwio_a3ides_2209_02.c:26
hwio_jogwheel_enabled
int hwio_jogwheel_enabled
Definition: hwio_a3ides_2209_02.c:176
hwio_di_get_val
int hwio_di_get_val(int i_di)
Definition: hwio_a3ides_2209_02.c:196
_DO_X_STEP
#define _DO_X_STEP
Definition: hwio_a3ides.h:20
sim_motion_set_dir
void sim_motion_set_dir(uint8_t axis, int state)
_DO_Y_DIR
#define _DO_Y_DIR
Definition: hwio_a3ides.h:27
HAL_GPIO_Initialized
int HAL_GPIO_Initialized
Definition: main.c:104
hwio_arduino_digitalRead
int hwio_arduino_digitalRead(uint32_t ulPin)
Definition: hwio_a3ides_2209_02.c:619
_DI_BTN_EN2
#define _DI_BTN_EN2
Definition: hwio_a3ides.h:16
PIN_Z_MIN
#define PIN_Z_MIN
Definition: hwio_pindef.h:11
HWIO_ERR_UNINI_DIG_WR
#define HWIO_ERR_UNINI_DIG_WR
Definition: hwio_a3ides_2209_02.c:22
_DI_Z_DIAG
#define _DI_Z_DIAG
Definition: hwio_a3ides.h:13
HWIO_PWM_HEATER_BED
#define HWIO_PWM_HEATER_BED
Definition: hwio_a3ides.h:54
hwio_arduino_digitalRead
int hwio_arduino_digitalRead(uint32_t ulPin)
Definition: hwio_a3ides_2209_02.c:619
_DO_Z_DIR
#define _DO_Z_DIR
Definition: hwio_a3ides.h:30
PIN_BTN_EN1
#define PIN_BTN_EN1
Definition: hwio_pindef.h:41
PIN_BEEPER
#define PIN_BEEPER
Definition: hwio_pindef.h:6
hwio_arduino_error
void hwio_arduino_error(int err, uint32_t pin32)
Definition: hwio_a3ides_2209_02.c:565
sim_motion_set_ena
void sim_motion_set_ena(uint8_t axis, int state)
PIN_Z_ENABLE
#define PIN_Z_ENABLE
Definition: hwio_pindef.h:30
hwio_do_get_val
int hwio_do_get_val(int i_do)
Definition: hwio_a3ides_2209_02.c:216
PIN_Y_DIAG
#define PIN_Y_DIAG
Definition: hwio_pindef.h:26
_DO_Y_ENABLE
#define _DO_Y_ENABLE
Definition: hwio_a3ides.h:29
sim_nozzle_set_power
void sim_nozzle_set_power(float P)
Definition: sim_nozzle.c:57
hwio_arduino_digitalWrite
void hwio_arduino_digitalWrite(uint32_t ulPin, uint32_t ulVal)
Definition: hwio_a3ides_2209_02.c:661
sim_motion_set_stp
void sim_motion_set_stp(uint8_t axis, int state)
HWIO_PWM_FAN1
#define HWIO_PWM_FAN1
Definition: hwio_a3ides.h:56
sim_bed_set_power
void sim_bed_set_power(float P)
Definition: sim_bed.c:51
PIN_Z_STEP
#define PIN_Z_STEP
Definition: hwio_pindef.h:29
_DO_E_DIR
#define _DO_E_DIR
Definition: hwio_a3ides.h:24
PIN_HEATER_BED
#define PIN_HEATER_BED
Definition: hwio_pindef.h:13
PIN_Y_STEP
#define PIN_Y_STEP
Definition: hwio_pindef.h:24
PIN_Y_DIR
#define PIN_Y_DIR
Definition: hwio_pindef.h:23
HWIO_PWM_FAN
#define HWIO_PWM_FAN
Definition: hwio_a3ides.h:57
PIN_X_ENABLE
#define PIN_X_ENABLE
Definition: hwio_pindef.h:20
hwio_arduino_digitalToggle
void hwio_arduino_digitalToggle(uint32_t ulPin)
Definition: hwio_a3ides_2209_02.c:774
PIN_Y_ENABLE
#define PIN_Y_ENABLE
Definition: hwio_pindef.h:25
_DO_X_ENABLE
#define _DO_X_ENABLE
Definition: hwio_a3ides.h:22
PIN_E_STEP
#define PIN_E_STEP
Definition: hwio_pindef.h:34
PIN_X_STEP
#define PIN_X_STEP
Definition: hwio_pindef.h:19
PIN_E_DIAG
#define PIN_E_DIAG
Definition: hwio_pindef.h:36
PIN_X_DIAG
#define PIN_X_DIAG
Definition: hwio_pindef.h:21
hwio_arduino_digitalWrite
void hwio_arduino_digitalWrite(uint32_t ulPin, uint32_t ulVal)
Definition: hwio_a3ides_2209_02.c:661
_DO_Z_ENABLE
#define _DO_Z_ENABLE
Definition: hwio_a3ides.h:21
PIN_FAN1
#define PIN_FAN1
Definition: hwio_pindef.h:38
_DO_E_STEP
#define _DO_E_STEP
Definition: hwio_a3ides.h:25
HWIO_ERR_UNINI_DIG_RD
#define HWIO_ERR_UNINI_DIG_RD
Definition: hwio_a3ides_2209_02.c:21
_DI_BTN_EN1
#define _DI_BTN_EN1
Definition: hwio_a3ides.h:15
PIN_Z_DIR
#define PIN_Z_DIR
Definition: hwio_pindef.h:28
adc_sim_msk
uint32_t adc_sim_msk
Definition: adc.c:24
HWIO_ERR_UNDEF_DIG_RD
#define HWIO_ERR_UNDEF_DIG_RD
Definition: hwio_a3ides_2209_02.c:25
_DI_E_DIAG
#define _DI_E_DIAG
Definition: hwio_a3ides.h:10
_DO_X_DIR
#define _DO_X_DIR
Definition: hwio_a3ides.h:19
PIN_BTN_ENC
#define PIN_BTN_ENC
Definition: hwio_pindef.h:40
_DO_E_ENABLE
#define _DO_E_ENABLE
Definition: hwio_a3ides.h:26
hwio_arduino_pinMode
void hwio_arduino_pinMode(uint32_t ulPin, uint32_t ulMode)
Definition: hwio_a3ides_2209_02.c:820
_pwm_analogWrite_max
const int _pwm_analogWrite_max[_PWM_CNT]
Definition: hwio_a3ides_2209_02.c:149