🩹 Fix Anycubic PlayTune (#25735)

Followup to #25690

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
Nick 2023-04-24 01:50:39 +01:00 committed by GitHub
parent 02a14d31b2
commit 743903b96f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 14 deletions

View file

@ -39,12 +39,12 @@
namespace Anycubic { namespace Anycubic {
void PlayTune(const uint16_t *tune, const uint8_t speed=1) { void PlayTune(const uint16_t *tune, const uint8_t speed/*=1*/) {
const uint16_t wholenotelen = tune[0] / speed; const uint16_t wholenotelen = tune[0] / speed;
for (uint8_t pos = 1; pos < MAX_TUNE_LENGTH; pos += 2) { for (uint8_t pos = 1; pos < MAX_TUNE_LENGTH; pos += 2) {
const uint16_t freq = tune[pos]; const uint16_t freq = tune[pos];
if (freq == n_END) break; if (freq == n_END) break;
BUZZ(freq, wholenotelen / tune[pos + 1]); BUZZ(wholenotelen / tune[pos + 1], freq);
} }
} }

View file

@ -61,7 +61,7 @@ n_END=10000 // end of tune marker
namespace Anycubic { namespace Anycubic {
void PlayTune(const uint16_t *tune, const uint8_t speed); void PlayTune(const uint16_t *tune, const uint8_t speed=1);
// Only uncomment the tunes you are using to save memory // Only uncomment the tunes you are using to save memory
// This will help you write tunes! // This will help you write tunes!
@ -100,7 +100,7 @@ namespace Anycubic {
n_END n_END
}; };
const uint16_t Heater_Timedout[] = { const uint16_t HeaterTimeout[] = {
1000, 1000,
n_C6,l_T1, n_C6,l_T1,
n_END n_END

View file

@ -104,7 +104,7 @@ void ChironTFT::Startup() {
injectCommands(AC_cmnd_enable_leveling); injectCommands(AC_cmnd_enable_leveling);
// Startup tunes are defined in Tunes.h // Startup tunes are defined in Tunes.h
PlayTune(TERN(AC_DEFAULT_STARTUP_TUNE, Anycubic_PowerOn, GB_PowerOn), 1); PlayTune(TERN(AC_DEFAULT_STARTUP_TUNE, Anycubic_PowerOn, GB_PowerOn));
#if ACDEBUGLEVEL #if ACDEBUGLEVEL
SERIAL_ECHOLNPGM("AC Debug Level ", ACDEBUGLEVEL); SERIAL_ECHOLNPGM("AC Debug Level ", ACDEBUGLEVEL);
@ -192,7 +192,7 @@ void ChironTFT::FilamentRunout() {
// 1 Signal filament out // 1 Signal filament out
last_error = AC_error_filament_runout; last_error = AC_error_filament_runout;
SendtoTFTLN(isPrintingFromMedia() ? AC_msg_filament_out_alert : AC_msg_filament_out_block); SendtoTFTLN(isPrintingFromMedia() ? AC_msg_filament_out_alert : AC_msg_filament_out_block);
PlayTune(FilamentOut, 1); PlayTune(FilamentOut);
} }
void ChironTFT::ConfirmationRequest(const char * const msg) { void ChironTFT::ConfirmationRequest(const char * const msg) {
@ -215,7 +215,7 @@ void ChironTFT::ConfirmationRequest(const char * const msg) {
if (strcmp_P(msg, MARLIN_msg_heater_timeout) == 0) { if (strcmp_P(msg, MARLIN_msg_heater_timeout) == 0) {
pause_state = AC_paused_heater_timed_out; pause_state = AC_paused_heater_timed_out;
SendtoTFTLN(AC_msg_paused); // enable continue button SendtoTFTLN(AC_msg_paused); // enable continue button
PlayTune(BEEPER_PIN,Heater_Timedout,1); PlayTune(HeaterTimeout);
} }
// Reheat finished, send acknowledgement // Reheat finished, send acknowledgement
else if (strcmp_P(msg, MARLIN_msg_reheat_done) == 0) { else if (strcmp_P(msg, MARLIN_msg_reheat_done) == 0) {
@ -253,7 +253,7 @@ void ChironTFT::StatusChange(const char * const msg) {
} }
// If probing fails don't save the mesh raise the probe above the bad point // If probing fails don't save the mesh raise the probe above the bad point
if (strcmp_P(msg, MARLIN_msg_probing_failed) == 0) { if (strcmp_P(msg, MARLIN_msg_probing_failed) == 0) {
PlayTune(BeepBeepBeeep, 1); PlayTune(BeepBeepBeeep);
injectCommands(F("G1 Z50 F500")); injectCommands(F("G1 Z50 F500"));
SendtoTFTLN(AC_msg_probing_complete); SendtoTFTLN(AC_msg_probing_complete);
printer_state = AC_printer_idle; printer_state = AC_printer_idle;
@ -307,7 +307,7 @@ void ChironTFT::StatusChange(const char * const msg) {
void ChironTFT::PowerLossRecovery() { void ChironTFT::PowerLossRecovery() {
printer_state = AC_printer_resuming_from_power_outage; // Play tune to notify user we can recover. printer_state = AC_printer_resuming_from_power_outage; // Play tune to notify user we can recover.
last_error = AC_error_powerloss; last_error = AC_error_powerloss;
PlayTune(SOS, 1); PlayTune(SOS);
SERIAL_ECHOLNF(AC_msg_powerloss_recovery); SERIAL_ECHOLNF(AC_msg_powerloss_recovery);
} }

View file

@ -463,7 +463,7 @@ namespace Anycubic {
pop_up_index = 15; // show filament lack. pop_up_index = 15; // show filament lack.
if (READ(FIL_RUNOUT_PIN) == FIL_RUNOUT_STATE) { if (READ(FIL_RUNOUT_PIN) == FIL_RUNOUT_STATE) {
PlayTune(FilamentOut, 1); PlayTune(FilamentOut);
feedrate_back = getFeedrate_percent(); feedrate_back = getFeedrate_percent();
@ -505,7 +505,7 @@ namespace Anycubic {
if (strcmp_P(msg, MARLIN_msg_heater_timeout) == 0) { if (strcmp_P(msg, MARLIN_msg_heater_timeout) == 0) {
pause_state = AC_paused_heater_timed_out; pause_state = AC_paused_heater_timed_out;
SendtoTFTLN(AC_msg_paused); // enable continue button SendtoTFTLN(AC_msg_paused); // enable continue button
PlayTune(Heater_Timedout, 1); PlayTune(HeaterTimeout);
} }
// Reheat finished, send acknowledgement // Reheat finished, send acknowledgement
else if (strcmp_P(msg, MARLIN_msg_reheat_done) == 0) { else if (strcmp_P(msg, MARLIN_msg_reheat_done) == 0) {
@ -576,7 +576,7 @@ namespace Anycubic {
// If probing fails don't save the mesh raise the probe above the bad point // If probing fails don't save the mesh raise the probe above the bad point
if (strcmp_P(msg, MARLIN_msg_probing_failed) == 0) { if (strcmp_P(msg, MARLIN_msg_probing_failed) == 0) {
PlayTune(BeepBeepBeeep, 1); PlayTune(BeepBeepBeeep);
injectCommands(F("G1 Z50 F500")); injectCommands(F("G1 Z50 F500"));
ChangePageOfTFT(PAGE_CHS_ABNORMAL_LEVELING_SENSOR); ChangePageOfTFT(PAGE_CHS_ABNORMAL_LEVELING_SENSOR);
SendtoTFTLN(AC_msg_probing_complete); SendtoTFTLN(AC_msg_probing_complete);
@ -1070,7 +1070,7 @@ namespace Anycubic {
#else #else
SendTxtToTFT(recovery.info.sd_filename, TXT_OUTAGE_RECOVERY_FILE); SendTxtToTFT(recovery.info.sd_filename, TXT_OUTAGE_RECOVERY_FILE);
#endif #endif
PlayTune(SOS, 1); PlayTune(SOS);
} }
#else #else
constexpr bool is_outage = false; constexpr bool is_outage = false;
@ -1081,7 +1081,7 @@ namespace Anycubic {
} }
else if (control_value == 0x010000) { // startup first gif else if (control_value == 0x010000) { // startup first gif
// Startup tunes are defined in Tunes.h // Startup tunes are defined in Tunes.h
PlayTune(Anycubic_PowerOn, 1); // takes 3500 ms PlayTune(Anycubic_PowerOn); // takes 3500 ms
} }
} }