Merge pull request #1555 from C-o-r-E/solenoids
Add support for solenoid articulated extruders
This commit is contained in:
commit
08b722b635
@ -154,6 +154,8 @@
|
|||||||
// M302 - Allow cold extrudes, or set the minimum extrude S<temperature>.
|
// M302 - Allow cold extrudes, or set the minimum extrude S<temperature>.
|
||||||
// M303 - PID relay autotune S<temperature> sets the target temperature. (default target temperature = 150C)
|
// M303 - PID relay autotune S<temperature> sets the target temperature. (default target temperature = 150C)
|
||||||
// M304 - Set bed PID parameters P I and D
|
// M304 - Set bed PID parameters P I and D
|
||||||
|
// M380 - Activate solenoid on active extruder
|
||||||
|
// M381 - Disable all solenoids
|
||||||
// M400 - Finish all moves
|
// M400 - Finish all moves
|
||||||
// M401 - Lower z-probe if present
|
// M401 - Lower z-probe if present
|
||||||
// M402 - Raise z-probe if present
|
// M402 - Raise z-probe if present
|
||||||
@ -529,23 +531,20 @@ void setup_homepin(void)
|
|||||||
void setup_photpin()
|
void setup_photpin()
|
||||||
{
|
{
|
||||||
#if defined(PHOTOGRAPH_PIN) && PHOTOGRAPH_PIN > -1
|
#if defined(PHOTOGRAPH_PIN) && PHOTOGRAPH_PIN > -1
|
||||||
SET_OUTPUT(PHOTOGRAPH_PIN);
|
OUT_WRITE(PHOTOGRAPH_PIN, LOW);
|
||||||
WRITE(PHOTOGRAPH_PIN, LOW);
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void setup_powerhold()
|
void setup_powerhold()
|
||||||
{
|
{
|
||||||
#if defined(SUICIDE_PIN) && SUICIDE_PIN > -1
|
#if defined(SUICIDE_PIN) && SUICIDE_PIN > -1
|
||||||
SET_OUTPUT(SUICIDE_PIN);
|
OUT_WRITE(SUICIDE_PIN, HIGH);
|
||||||
WRITE(SUICIDE_PIN, HIGH);
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(PS_ON_PIN) && PS_ON_PIN > -1
|
#if defined(PS_ON_PIN) && PS_ON_PIN > -1
|
||||||
SET_OUTPUT(PS_ON_PIN);
|
|
||||||
#if defined(PS_DEFAULT_OFF)
|
#if defined(PS_DEFAULT_OFF)
|
||||||
WRITE(PS_ON_PIN, PS_ON_ASLEEP);
|
OUT_WRITE(PS_ON_PIN, PS_ON_ASLEEP);
|
||||||
#else
|
#else
|
||||||
WRITE(PS_ON_PIN, PS_ON_AWAKE);
|
OUT_WRITE(PS_ON_PIN, PS_ON_AWAKE);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -553,8 +552,7 @@ void setup_powerhold()
|
|||||||
void suicide()
|
void suicide()
|
||||||
{
|
{
|
||||||
#if defined(SUICIDE_PIN) && SUICIDE_PIN > -1
|
#if defined(SUICIDE_PIN) && SUICIDE_PIN > -1
|
||||||
SET_OUTPUT(SUICIDE_PIN);
|
OUT_WRITE(SUICIDE_PIN, LOW);
|
||||||
WRITE(SUICIDE_PIN, LOW);
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2723,15 +2721,13 @@ Sigma_Exit:
|
|||||||
|
|
||||||
#if defined(PS_ON_PIN) && PS_ON_PIN > -1
|
#if defined(PS_ON_PIN) && PS_ON_PIN > -1
|
||||||
case 80: // M80 - Turn on Power Supply
|
case 80: // M80 - Turn on Power Supply
|
||||||
SET_OUTPUT(PS_ON_PIN); //GND
|
OUT_WRITE(PS_ON_PIN, PS_ON_AWAKE); // GND
|
||||||
WRITE(PS_ON_PIN, PS_ON_AWAKE);
|
|
||||||
|
|
||||||
// If you have a switch on suicide pin, this is useful
|
// If you have a switch on suicide pin, this is useful
|
||||||
// if you want to start another print with suicide feature after
|
// if you want to start another print with suicide feature after
|
||||||
// a print without suicide...
|
// a print without suicide...
|
||||||
#if defined SUICIDE_PIN && SUICIDE_PIN > -1
|
#if defined SUICIDE_PIN && SUICIDE_PIN > -1
|
||||||
SET_OUTPUT(SUICIDE_PIN);
|
OUT_WRITE(SUICIDE_PIN, HIGH);
|
||||||
WRITE(SUICIDE_PIN, HIGH);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ULTIPANEL
|
#ifdef ULTIPANEL
|
||||||
@ -2755,8 +2751,7 @@ Sigma_Exit:
|
|||||||
st_synchronize();
|
st_synchronize();
|
||||||
suicide();
|
suicide();
|
||||||
#elif defined(PS_ON_PIN) && PS_ON_PIN > -1
|
#elif defined(PS_ON_PIN) && PS_ON_PIN > -1
|
||||||
SET_OUTPUT(PS_ON_PIN);
|
OUT_WRITE(PS_ON_PIN, PS_ON_ASLEEP);
|
||||||
WRITE(PS_ON_PIN, PS_ON_ASLEEP);
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef ULTIPANEL
|
#ifdef ULTIPANEL
|
||||||
powersupply = false;
|
powersupply = false;
|
||||||
@ -3118,7 +3113,7 @@ Sigma_Exit:
|
|||||||
SERIAL_ECHO(extruder_offset[Z_AXIS][tmp_extruder]);
|
SERIAL_ECHO(extruder_offset[Z_AXIS][tmp_extruder]);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
SERIAL_ECHOLN("");
|
SERIAL_EOL;
|
||||||
}break;
|
}break;
|
||||||
#endif
|
#endif
|
||||||
case 220: // M220 S<factor in percent>- set speed factor override percentage
|
case 220: // M220 S<factor in percent>- set speed factor override percentage
|
||||||
@ -3337,8 +3332,7 @@ Sigma_Exit:
|
|||||||
{
|
{
|
||||||
#ifdef CHDK
|
#ifdef CHDK
|
||||||
|
|
||||||
SET_OUTPUT(CHDK);
|
OUT_WRITE(CHDK, HIGH);
|
||||||
WRITE(CHDK, HIGH);
|
|
||||||
chdkHigh = millis();
|
chdkHigh = millis();
|
||||||
chdkActive = true;
|
chdkActive = true;
|
||||||
|
|
||||||
@ -3497,6 +3491,17 @@ Sigma_Exit:
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef EXT_SOLENOID
|
||||||
|
case 380:
|
||||||
|
enable_solenoid_on_active_extruder();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 381:
|
||||||
|
disable_all_solenoids();
|
||||||
|
break;
|
||||||
|
#endif //EXT_SOLENOID
|
||||||
|
|
||||||
case 400: // M400 finish all moves
|
case 400: // M400 finish all moves
|
||||||
{
|
{
|
||||||
st_synchronize();
|
st_synchronize();
|
||||||
@ -3737,9 +3742,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||||||
if(cnt==0)
|
if(cnt==0)
|
||||||
{
|
{
|
||||||
#if BEEPER > 0
|
#if BEEPER > 0
|
||||||
SET_OUTPUT(BEEPER);
|
OUT_WRITE(BEEPER,HIGH);
|
||||||
|
|
||||||
WRITE(BEEPER,HIGH);
|
|
||||||
delay(3);
|
delay(3);
|
||||||
WRITE(BEEPER,LOW);
|
WRITE(BEEPER,LOW);
|
||||||
delay(3);
|
delay(3);
|
||||||
@ -4000,6 +4003,13 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||||||
prepare_move();
|
prepare_move();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef EXT_SOLENOID
|
||||||
|
st_synchronize();
|
||||||
|
disable_all_solenoids();
|
||||||
|
enable_solenoid_on_active_extruder();
|
||||||
|
#endif //EXT_SOLENOID
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHO(MSG_ACTIVE_EXTRUDER);
|
SERIAL_ECHO(MSG_ACTIVE_EXTRUDER);
|
||||||
@ -4707,7 +4717,6 @@ bool setTargetedHotend(int code){
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
float calculate_volumetric_multiplier(float diameter) {
|
float calculate_volumetric_multiplier(float diameter) {
|
||||||
if (!volumetric_enabled || diameter == 0) return 1.0;
|
if (!volumetric_enabled || diameter == 0) return 1.0;
|
||||||
float d2 = diameter * 0.5;
|
float d2 = diameter * 0.5;
|
||||||
@ -4718,3 +4727,43 @@ void calculate_volumetric_multipliers() {
|
|||||||
for (int i=0; i<EXTRUDERS; i++)
|
for (int i=0; i<EXTRUDERS; i++)
|
||||||
volumetric_multiplier[i] = calculate_volumetric_multiplier(filament_size[i]);
|
volumetric_multiplier[i] = calculate_volumetric_multiplier(filament_size[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef EXT_SOLENOID
|
||||||
|
|
||||||
|
void enable_solenoid(uint8_t num) {
|
||||||
|
switch(num) {
|
||||||
|
case 0:
|
||||||
|
OUT_WRITE(SOL0_PIN, HIGH);
|
||||||
|
break;
|
||||||
|
#if defined(SOL1_PIN) && SOL1_PIN > -1
|
||||||
|
case 1:
|
||||||
|
OUT_WRITE(SOL1_PIN, HIGH);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(SOL2_PIN) && SOL2_PIN > -1
|
||||||
|
case 2:
|
||||||
|
OUT_WRITE(SOL2_PIN, HIGH);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(SOL3_PIN) && SOL3_PIN > -1
|
||||||
|
case 3:
|
||||||
|
OUT_WRITE(SOL3_PIN, HIGH);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
default:
|
||||||
|
SERIAL_ECHO_START;
|
||||||
|
SERIAL_ECHOLNPGM(MSG_INVALID_SOLENOID);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void enable_solenoid_on_active_extruder() { enable_solenoid(active_extruder); }
|
||||||
|
|
||||||
|
void disable_all_solenoids() {
|
||||||
|
OUT_WRITE(SOL0_PIN, LOW);
|
||||||
|
OUT_WRITE(SOL1_PIN, LOW);
|
||||||
|
OUT_WRITE(SOL2_PIN, LOW);
|
||||||
|
OUT_WRITE(SOL3_PIN, LOW);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif //EXT_SOLENOID
|
||||||
|
@ -22,8 +22,7 @@ CardReader::CardReader() {
|
|||||||
autostart_index = 0;
|
autostart_index = 0;
|
||||||
//power to SD reader
|
//power to SD reader
|
||||||
#if SDPOWER > -1
|
#if SDPOWER > -1
|
||||||
SET_OUTPUT(SDPOWER);
|
OUT_WRITE(SDPOWER, HIGH);
|
||||||
WRITE(SDPOWER, HIGH);
|
|
||||||
#endif //SDPOWER
|
#endif //SDPOWER
|
||||||
|
|
||||||
autostart_atmillis = millis() + 5000;
|
autostart_atmillis = millis() + 5000;
|
||||||
|
@ -83,6 +83,9 @@
|
|||||||
/// check if pin is an timer wrapper
|
/// check if pin is an timer wrapper
|
||||||
#define GET_TIMER(IO) _GET_TIMER(IO)
|
#define GET_TIMER(IO) _GET_TIMER(IO)
|
||||||
|
|
||||||
|
// Shorthand
|
||||||
|
#define OUT_WRITE(IO, v) { SET_OUTPUT(IO); WRITE(IO, v); }
|
||||||
|
|
||||||
/*
|
/*
|
||||||
ports and functions
|
ports and functions
|
||||||
|
|
||||||
|
@ -121,6 +121,7 @@
|
|||||||
#define MSG_UNKNOWN_COMMAND "Unknown command: \""
|
#define MSG_UNKNOWN_COMMAND "Unknown command: \""
|
||||||
#define MSG_ACTIVE_EXTRUDER "Active Extruder: "
|
#define MSG_ACTIVE_EXTRUDER "Active Extruder: "
|
||||||
#define MSG_INVALID_EXTRUDER "Invalid extruder"
|
#define MSG_INVALID_EXTRUDER "Invalid extruder"
|
||||||
|
#define MSG_INVALID_SOLENOID "Invalid solenoid"
|
||||||
#define MSG_X_MIN "x_min: "
|
#define MSG_X_MIN "x_min: "
|
||||||
#define MSG_X_MAX "x_max: "
|
#define MSG_X_MAX "x_max: "
|
||||||
#define MSG_Y_MIN "y_min: "
|
#define MSG_Y_MIN "y_min: "
|
||||||
|
@ -187,7 +187,7 @@ void checkHitEndstops()
|
|||||||
SERIAL_ECHOPAIR(" Z:",(float)endstops_trigsteps[Z_AXIS]/axis_steps_per_unit[Z_AXIS]);
|
SERIAL_ECHOPAIR(" Z:",(float)endstops_trigsteps[Z_AXIS]/axis_steps_per_unit[Z_AXIS]);
|
||||||
LCD_MESSAGEPGM(MSG_ENDSTOPS_HIT "Z");
|
LCD_MESSAGEPGM(MSG_ENDSTOPS_HIT "Z");
|
||||||
}
|
}
|
||||||
SERIAL_ECHOLN("");
|
SERIAL_EOL;
|
||||||
endstop_x_hit=false;
|
endstop_x_hit=false;
|
||||||
endstop_y_hit=false;
|
endstop_y_hit=false;
|
||||||
endstop_z_hit=false;
|
endstop_z_hit=false;
|
||||||
@ -959,51 +959,41 @@ void st_init()
|
|||||||
|
|
||||||
//Initialize Step Pins
|
//Initialize Step Pins
|
||||||
#if defined(X_STEP_PIN) && (X_STEP_PIN > -1)
|
#if defined(X_STEP_PIN) && (X_STEP_PIN > -1)
|
||||||
SET_OUTPUT(X_STEP_PIN);
|
OUT_WRITE(X_STEP_PIN,INVERT_X_STEP_PIN);
|
||||||
WRITE(X_STEP_PIN,INVERT_X_STEP_PIN);
|
|
||||||
disable_x();
|
disable_x();
|
||||||
#endif
|
#endif
|
||||||
#if defined(X2_STEP_PIN) && (X2_STEP_PIN > -1)
|
#if defined(X2_STEP_PIN) && (X2_STEP_PIN > -1)
|
||||||
SET_OUTPUT(X2_STEP_PIN);
|
OUT_WRITE(X2_STEP_PIN,INVERT_X_STEP_PIN);
|
||||||
WRITE(X2_STEP_PIN,INVERT_X_STEP_PIN);
|
|
||||||
disable_x();
|
disable_x();
|
||||||
#endif
|
#endif
|
||||||
#if defined(Y_STEP_PIN) && (Y_STEP_PIN > -1)
|
#if defined(Y_STEP_PIN) && (Y_STEP_PIN > -1)
|
||||||
SET_OUTPUT(Y_STEP_PIN);
|
OUT_WRITE(Y_STEP_PIN,INVERT_Y_STEP_PIN);
|
||||||
WRITE(Y_STEP_PIN,INVERT_Y_STEP_PIN);
|
|
||||||
#if defined(Y_DUAL_STEPPER_DRIVERS) && defined(Y2_STEP_PIN) && (Y2_STEP_PIN > -1)
|
#if defined(Y_DUAL_STEPPER_DRIVERS) && defined(Y2_STEP_PIN) && (Y2_STEP_PIN > -1)
|
||||||
SET_OUTPUT(Y2_STEP_PIN);
|
OUT_WRITE(Y2_STEP_PIN,INVERT_Y_STEP_PIN);
|
||||||
WRITE(Y2_STEP_PIN,INVERT_Y_STEP_PIN);
|
|
||||||
#endif
|
#endif
|
||||||
disable_y();
|
disable_y();
|
||||||
#endif
|
#endif
|
||||||
#if defined(Z_STEP_PIN) && (Z_STEP_PIN > -1)
|
#if defined(Z_STEP_PIN) && (Z_STEP_PIN > -1)
|
||||||
SET_OUTPUT(Z_STEP_PIN);
|
OUT_WRITE(Z_STEP_PIN,INVERT_Z_STEP_PIN);
|
||||||
WRITE(Z_STEP_PIN,INVERT_Z_STEP_PIN);
|
|
||||||
#if defined(Z_DUAL_STEPPER_DRIVERS) && defined(Z2_STEP_PIN) && (Z2_STEP_PIN > -1)
|
#if defined(Z_DUAL_STEPPER_DRIVERS) && defined(Z2_STEP_PIN) && (Z2_STEP_PIN > -1)
|
||||||
SET_OUTPUT(Z2_STEP_PIN);
|
OUT_WRITE(Z2_STEP_PIN,INVERT_Z_STEP_PIN);
|
||||||
WRITE(Z2_STEP_PIN,INVERT_Z_STEP_PIN);
|
|
||||||
#endif
|
#endif
|
||||||
disable_z();
|
disable_z();
|
||||||
#endif
|
#endif
|
||||||
#if defined(E0_STEP_PIN) && (E0_STEP_PIN > -1)
|
#if defined(E0_STEP_PIN) && (E0_STEP_PIN > -1)
|
||||||
SET_OUTPUT(E0_STEP_PIN);
|
OUT_WRITE(E0_STEP_PIN,INVERT_E_STEP_PIN);
|
||||||
WRITE(E0_STEP_PIN,INVERT_E_STEP_PIN);
|
|
||||||
disable_e0();
|
disable_e0();
|
||||||
#endif
|
#endif
|
||||||
#if defined(E1_STEP_PIN) && (E1_STEP_PIN > -1)
|
#if defined(E1_STEP_PIN) && (E1_STEP_PIN > -1)
|
||||||
SET_OUTPUT(E1_STEP_PIN);
|
OUT_WRITE(E1_STEP_PIN,INVERT_E_STEP_PIN);
|
||||||
WRITE(E1_STEP_PIN,INVERT_E_STEP_PIN);
|
|
||||||
disable_e1();
|
disable_e1();
|
||||||
#endif
|
#endif
|
||||||
#if defined(E2_STEP_PIN) && (E2_STEP_PIN > -1)
|
#if defined(E2_STEP_PIN) && (E2_STEP_PIN > -1)
|
||||||
SET_OUTPUT(E2_STEP_PIN);
|
OUT_WRITE(E2_STEP_PIN,INVERT_E_STEP_PIN);
|
||||||
WRITE(E2_STEP_PIN,INVERT_E_STEP_PIN);
|
|
||||||
disable_e2();
|
disable_e2();
|
||||||
#endif
|
#endif
|
||||||
#if defined(E3_STEP_PIN) && (E3_STEP_PIN > -1)
|
#if defined(E3_STEP_PIN) && (E3_STEP_PIN > -1)
|
||||||
SET_OUTPUT(E3_STEP_PIN);
|
OUT_WRITE(E3_STEP_PIN,INVERT_E_STEP_PIN);
|
||||||
WRITE(E3_STEP_PIN,INVERT_E_STEP_PIN);
|
|
||||||
disable_e3();
|
disable_e3();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -901,21 +901,15 @@ void tp_init()
|
|||||||
#ifdef HEATER_0_USES_MAX6675
|
#ifdef HEATER_0_USES_MAX6675
|
||||||
|
|
||||||
#ifndef SDSUPPORT
|
#ifndef SDSUPPORT
|
||||||
SET_OUTPUT(SCK_PIN);
|
OUT_WRITE(SCK_PIN, LOW);
|
||||||
WRITE(SCK_PIN,0);
|
OUT_WRITE(MOSI_PIN, HIGH);
|
||||||
|
OUT_WRITE(MISO_PIN, HIGH);
|
||||||
SET_OUTPUT(MOSI_PIN);
|
|
||||||
WRITE(MOSI_PIN,1);
|
|
||||||
|
|
||||||
SET_INPUT(MISO_PIN);
|
|
||||||
WRITE(MISO_PIN,1);
|
|
||||||
#else
|
#else
|
||||||
pinMode(SS_PIN, OUTPUT);
|
pinMode(SS_PIN, OUTPUT);
|
||||||
digitalWrite(SS_PIN, HIGH);
|
digitalWrite(SS_PIN, HIGH);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
SET_OUTPUT(MAX6675_SS);
|
OUT_WRITE(MAX6675_SS,HIGH);
|
||||||
WRITE(MAX6675_SS,1);
|
|
||||||
|
|
||||||
#endif //HEATER_0_USES_MAX6675
|
#endif //HEATER_0_USES_MAX6675
|
||||||
|
|
||||||
|
@ -821,32 +821,28 @@ static void lcd_implementation_drawmenu_sddirectory(uint8_t row, const char* pst
|
|||||||
|
|
||||||
static void lcd_implementation_quick_feedback()
|
static void lcd_implementation_quick_feedback()
|
||||||
{
|
{
|
||||||
#ifdef LCD_USE_I2C_BUZZER
|
#ifdef LCD_USE_I2C_BUZZER
|
||||||
#if !defined(LCD_FEEDBACK_FREQUENCY_HZ) || !defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS)
|
#if defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS) && defined(LCD_FEEDBACK_FREQUENCY_HZ)
|
||||||
lcd_buzz(1000/6,100);
|
lcd_buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS, LCD_FEEDBACK_FREQUENCY_HZ);
|
||||||
#else
|
#else
|
||||||
lcd_buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS,LCD_FEEDBACK_FREQUENCY_HZ);
|
lcd_buzz(1000/6, 100);
|
||||||
#endif
|
#endif
|
||||||
#elif defined(BEEPER) && BEEPER > -1
|
#elif defined(BEEPER) && BEEPER > -1
|
||||||
SET_OUTPUT(BEEPER);
|
SET_OUTPUT(BEEPER);
|
||||||
#if !defined(LCD_FEEDBACK_FREQUENCY_HZ) || !defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS)
|
#if !defined(LCD_FEEDBACK_FREQUENCY_HZ) || !defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS)
|
||||||
for(int8_t i=0;i<10;i++)
|
const unsigned int delay = 100;
|
||||||
{
|
uint8_t i = 10;
|
||||||
WRITE(BEEPER,HIGH);
|
|
||||||
delayMicroseconds(100);
|
|
||||||
WRITE(BEEPER,LOW);
|
|
||||||
delayMicroseconds(100);
|
|
||||||
}
|
|
||||||
#else
|
#else
|
||||||
for(int8_t i=0;i<(LCD_FEEDBACK_FREQUENCY_DURATION_MS / (1000 / LCD_FEEDBACK_FREQUENCY_HZ));i++)
|
const unsigned int delay = 1000000 / LCD_FEEDBACK_FREQUENCY_HZ / 2;
|
||||||
{
|
int8_t i = LCD_FEEDBACK_FREQUENCY_DURATION_MS * LCD_FEEDBACK_FREQUENCY_HZ / 1000;
|
||||||
|
#endif
|
||||||
|
while (i--) {
|
||||||
WRITE(BEEPER,HIGH);
|
WRITE(BEEPER,HIGH);
|
||||||
delayMicroseconds(1000000 / LCD_FEEDBACK_FREQUENCY_HZ / 2);
|
delayMicroseconds(delay);
|
||||||
WRITE(BEEPER,LOW);
|
WRITE(BEEPER,LOW);
|
||||||
delayMicroseconds(1000000 / LCD_FEEDBACK_FREQUENCY_HZ / 2);
|
delayMicroseconds(delay);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef LCD_HAS_STATUS_INDICATORS
|
#ifdef LCD_HAS_STATUS_INDICATORS
|
||||||
|
@ -47,12 +47,9 @@ uint8_t u8g_dev_rrd_st7920_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, vo
|
|||||||
{
|
{
|
||||||
case U8G_DEV_MSG_INIT:
|
case U8G_DEV_MSG_INIT:
|
||||||
{
|
{
|
||||||
SET_OUTPUT(ST7920_CS_PIN);
|
OUT_WRITE(ST7920_CS_PIN,LOW);
|
||||||
WRITE(ST7920_CS_PIN,0);
|
OUT_WRITE(ST7920_DAT_PIN,LOW);
|
||||||
SET_OUTPUT(ST7920_DAT_PIN);
|
OUT_WRITE(ST7920_CLK_PIN,HIGH);
|
||||||
WRITE(ST7920_DAT_PIN,0);
|
|
||||||
SET_OUTPUT(ST7920_CLK_PIN);
|
|
||||||
WRITE(ST7920_CLK_PIN,1);
|
|
||||||
|
|
||||||
ST7920_CS();
|
ST7920_CS();
|
||||||
u8g_Delay(120); //initial delay for boot up
|
u8g_Delay(120); //initial delay for boot up
|
||||||
|
Loading…
Reference in New Issue
Block a user