123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- #ifndef UTIL_H
- #define UTIL_H
- extern const char* FW_VERSION_STR_P();
- // Definition of a firmware flavor numerical values.
- enum FirmwareRevisionFlavorType
- {
- FIRMWARE_REVISION_DEV = 0,
- FIRMWARE_REVISION_ALPHA = 1,
- FIRMWARE_REVISION_BETA = 2,
- FIRMWARE_REVISION_RC,
- FIRMWARE_REVISION_RC2,
- FIRMWARE_REVISION_RC3,
- FIRMWARE_REVISION_RC4,
- FIRMWARE_REVISION_RC5,
- FIRMWARE_REVISION_RELEASED = 127
- };
- extern bool show_upgrade_dialog_if_version_newer(const char *version_string);
- extern bool force_selftest_if_fw_version();
- extern void update_current_firmware_version_to_eeprom();
- inline int8_t eeprom_read_int8(unsigned char* addr) {
- uint8_t v = eeprom_read_byte(addr);
- return *reinterpret_cast<int8_t*>(&v);
- }
- inline void eeprom_update_int8(unsigned char* addr, int8_t v) {
- eeprom_update_byte(addr, *reinterpret_cast<uint8_t*>(&v));
- }
- //-//
- #define EEPROM_NOZZLE_DIAMETER_uM_DEFAULT 400
- enum class ClPrintChecking:uint_least8_t
- {
- _Nozzle=1,
- _Model=2,
- _Smodel=3,
- _Version=4,
- _Gcode=5
- };
- enum class ClNozzleDiameter:uint_least8_t
- {
- _Diameter_250=25,
- _Diameter_400=40,
- _Diameter_600=60,
- _Diameter_800=80,
- _Diameter_Undef=EEPROM_EMPTY_VALUE
- };
- enum class ClCheckMode:uint_least8_t
- {
- _None,
- _Warn,
- _Strict,
- _Undef=EEPROM_EMPTY_VALUE
- };
- enum class ClCheckModel:uint_least8_t
- {
- _None,
- _Warn,
- _Strict,
- _Undef=EEPROM_EMPTY_VALUE
- };
- enum class ClCheckVersion:uint_least8_t
- {
- _None,
- _Warn,
- _Strict,
- _Undef=EEPROM_EMPTY_VALUE
- };
- enum class ClCheckGcode:uint_least8_t
- {
- _None,
- _Warn,
- _Strict,
- _Undef=EEPROM_EMPTY_VALUE
- };
- #define COMPARE_VALUE_EQUAL (((uint8_t)ClCompareValue::_Equal<<6)+((uint8_t)ClCompareValue::_Equal<<4)+((uint8_t)ClCompareValue::_Equal<<2)+((uint8_t)ClCompareValue::_Equal))
- enum class ClCompareValue:uint_least8_t
- {
- _Less=0,
- _Equal=1,
- _Greater=2
- };
- extern ClNozzleDiameter oNozzleDiameter;
- extern ClCheckMode oCheckMode;
- extern ClCheckModel oCheckModel;
- extern ClCheckVersion oCheckVersion;
- extern ClCheckGcode oCheckGcode;
- void fCheckModeInit();
- void nozzle_diameter_check(uint16_t nDiameter);
- void printer_model_check(uint16_t nPrinterModel);
- void printer_smodel_check(const char* pStrPos);
- void fw_version_check(const char *pVersion);
- void gcode_level_check(uint16_t nGcodeLevel);
- void fSetMmuMode(bool bMMu);
- #define IP4_STR_SIZE 16
- extern void ip4_to_str(char* dest, uint8_t* IP);
- #endif /* UTIL_H */
|