Repetier-Firmware  0.91
src/ArduinoAVR/Repetier/ui.h File Reference
#include "gcode.h"
#include "uilang.h"
#include "uimenu.h"

Go to the source code of this file.

Data Structures

struct  UIMenuEntry
struct  UIMenu
class  UIDisplay

Defines

#define UI_ACTION_TOPMENU   8192
#define UI_ACTION_NEXT   1
#define UI_ACTION_PREVIOUS   2
#define UI_ACTION_X_UP   100
#define UI_ACTION_X_DOWN   101
#define UI_ACTION_Y_UP   102
#define UI_ACTION_Y_DOWN   103
#define UI_ACTION_Z_UP   104
#define UI_ACTION_Z_DOWN   105
#define UI_ACTION_EXTRUDER_UP   106
#define UI_ACTION_EXTRUDER_DOWN   107
#define UI_ACTION_EXTRUDER_TEMP_UP   108
#define UI_ACTION_EXTRUDER_TEMP_DOWN   109
#define UI_ACTION_HEATED_BED_UP   110
#define UI_ACTION_HEATED_BED_DOWN   111
#define UI_ACTION_FAN_UP   112
#define UI_ACTION_FAN_DOWN   113
#define UI_ACTION_DUMMY   10000
#define UI_ACTION_BACK   1000
#define UI_ACTION_OK   1001
#define UI_ACTION_MENU_UP   1002
#define UI_ACTION_TOP_MENU   1003
#define UI_ACTION_EMERGENCY_STOP   1004
#define UI_ACTION_XPOSITION   1005
#define UI_ACTION_YPOSITION   1006
#define UI_ACTION_ZPOSITION   1007
#define UI_ACTION_EPOSITION   1008
#define UI_ACTION_BED_TEMP   1009
#define UI_ACTION_EXTRUDER_TEMP   1010
#define UI_ACTION_SD_DELETE   1012
#define UI_ACTION_SD_PRINT   1013
#define UI_ACTION_SD_PAUSE   1014
#define UI_ACTION_SD_CONTINUE   1015
#define UI_ACTION_SD_UNMOUNT   1016
#define UI_ACTION_SD_MOUNT   1017
#define UI_ACTION_XPOSITION_FAST   1018
#define UI_ACTION_YPOSITION_FAST   1019
#define UI_ACTION_ZPOSITION_FAST   1020
#define UI_ACTION_HOME_ALL   1021
#define UI_ACTION_HOME_X   1022
#define UI_ACTION_HOME_Y   1023
#define UI_ACTION_HOME_Z   1024
#define UI_ACTION_SELECT_EXTRUDER1   1025
#define UI_ACTION_STORE_EEPROM   1030
#define UI_ACTION_LOAD_EEPROM   1031
#define UI_ACTION_PRINT_ACCEL_X   1032
#define UI_ACTION_PRINT_ACCEL_Y   1033
#define UI_ACTION_PRINT_ACCEL_Z   1034
#define UI_ACTION_MOVE_ACCEL_X   1035
#define UI_ACTION_MOVE_ACCEL_Y   1036
#define UI_ACTION_MOVE_ACCEL_Z   1037
#define UI_ACTION_MAX_JERK   1038
#define UI_ACTION_MAX_ZJERK   1039
#define UI_ACTION_BAUDRATE   1040
#define UI_ACTION_HOMING_FEEDRATE_X   1041
#define UI_ACTION_HOMING_FEEDRATE_Y   1042
#define UI_ACTION_HOMING_FEEDRATE_Z   1043
#define UI_ACTION_MAX_FEEDRATE_X   1044
#define UI_ACTION_MAX_FEEDRATE_Y   1045
#define UI_ACTION_MAX_FEEDRATE_Z   1046
#define UI_ACTION_STEPS_X   1047
#define UI_ACTION_STEPS_Y   1048
#define UI_ACTION_STEPS_Z   1049
#define UI_ACTION_FAN_OFF   1050
#define UI_ACTION_FAN_25   1051
#define UI_ACTION_FAN_50   1052
#define UI_ACTION_FAN_75   1053
#define UI_ACTION_FAN_FULL   1054
#define UI_ACTION_FEEDRATE_MULTIPLY   1055
#define UI_ACTION_STEPPER_INACTIVE   1056
#define UI_ACTION_MAX_INACTIVE   1057
#define UI_ACTION_PID_PGAIN   1058
#define UI_ACTION_PID_IGAIN   1059
#define UI_ACTION_PID_DGAIN   1060
#define UI_ACTION_DRIVE_MIN   1061
#define UI_ACTION_DRIVE_MAX   1062
#define UI_ACTION_X_OFFSET   1063
#define UI_ACTION_Y_OFFSET   1064
#define UI_ACTION_EXTR_STEPS   1065
#define UI_ACTION_EXTR_ACCELERATION   1066
#define UI_ACTION_EXTR_MAX_FEEDRATE   1067
#define UI_ACTION_EXTR_START_FEEDRATE   1068
#define UI_ACTION_EXTR_HEATMANAGER   1069
#define UI_ACTION_EXTR_WATCH_PERIOD   1070
#define UI_ACTION_PID_MAX   1071
#define UI_ACTION_ADVANCE_K   1072
#define UI_ACTION_SET_ORIGIN   1073
#define UI_ACTION_DEBUG_ECHO   1074
#define UI_ACTION_DEBUG_INFO   1075
#define UI_ACTION_DEBUG_ERROR   1076
#define UI_ACTION_DEBUG_DRYRUN   1077
#define UI_ACTION_POWER   1078
#define UI_ACTION_PREHEAT_PLA   1079
#define UI_ACTION_COOLDOWN   1080
#define UI_ACTION_HEATED_BED_OFF   1081
#define UI_ACTION_EXTRUDER0_OFF   1082
#define UI_ACTION_EXTRUDER1_OFF   1083
#define UI_ACTION_HEATED_BED_TEMP   1084
#define UI_ACTION_EXTRUDER0_TEMP   1085
#define UI_ACTION_EXTRUDER1_TEMP   1086
#define UI_ACTION_OPS_OFF   1087
#define UI_ACTION_OPS_CLASSIC   1088
#define UI_ACTION_OPS_FAST   1089
#define UI_ACTION_DISABLE_STEPPER   1090
#define UI_ACTION_RESET_EXTRUDER   1091
#define UI_ACTION_EXTRUDER_RELATIVE   1092
#define UI_ACTION_SELECT_EXTRUDER0   1093
#define UI_ACTION_ADVANCE_L   1094
#define UI_ACTION_PREHEAT_ABS   1095
#define UI_ACTION_FLOWRATE_MULTIPLY   1096
#define UI_ACTION_KILL   1097
#define UI_ACTION_RESET   1098
#define UI_ACTION_PAUSE   1099
#define UI_ACTION_EXTR_WAIT_RETRACT_TEMP   1100
#define UI_ACTION_EXTR_WAIT_RETRACT_UNITS   1101
#define UI_ACTION_EXTRUDER2_OFF   1102
#define UI_ACTION_EXTRUDER2_TEMP   1103
#define UI_ACTION_SELECT_EXTRUDER2   1104
#define UI_ACTION_WRITE_DEBUG   1105
#define UI_ACTION_FANSPEED   1106
#define UI_ACTION_LIGHTS_ONOFF   1107
#define UI_ACTION_SD_STOP   1108
#define UI_ACTION_MENU_XPOS   4000
#define UI_ACTION_MENU_YPOS   4001
#define UI_ACTION_MENU_ZPOS   4002
#define UI_ACTION_MENU_XPOSFAST   4003
#define UI_ACTION_MENU_YPOSFAST   4004
#define UI_ACTION_MENU_ZPOSFAST   4005
#define UI_ACTION_MENU_SDCARD   4006
#define UI_ACTION_MENU_QUICKSETTINGS   4007
#define UI_ACTION_MENU_EXTRUDER   4008
#define UI_ACTION_MENU_POSITIONS   4009
#define UI_ACTION_SET_MEASURED_ORIGIN   4012
#define UI_ACTION_SET_P1   4013
#define UI_ACTION_SET_P2   4014
#define UI_ACTION_SET_P3   4015
#define UI_ACTION_CALC_LEVEL   4016
#define UI_ACTION_SHOW_USERMENU1   4101
#define UI_ACTION_SHOW_USERMENU2   4102
#define UI_ACTION_SHOW_USERMENU3   4103
#define UI_ACTION_SHOW_USERMENU4   4104
#define UI_ACTION_SHOW_USERMENU5   4105
#define UI_ACTION_SHOW_USERMENU6   4106
#define UI_ACTION_SHOW_USERMENU7   4107
#define UI_ACTION_SHOW_USERMENU8   4108
#define UI_ACTION_SHOW_USERMENU9   4109
#define UI_ACTION_SHOW_USERMENU10   4110
#define UI_KEYS_INIT_CLICKENCODER_LOW(pinA, pinB)   SET_INPUT(pinA);SET_INPUT(pinB); PULLUP(pinA,HIGH);PULLUP(pinB,HIGH);
#define UI_KEYS_INIT_BUTTON_LOW(pin)   SET_INPUT(pin);PULLUP(pin,HIGH);
#define UI_KEYS_INIT_CLICKENCODER_HIGH(pinA, pinB)   SET_INPUT(pinA);SET_INPUT(pinB); PULLUP(pinA,LOW);PULLUP(pinB,LOW);
#define UI_KEYS_INIT_BUTTON_HIGH(pin)   SET_INPUT(pin);PULLUP(pin,LOW);
#define UI_KEYS_CLICKENCODER_LOW(pinA, pinB)   uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (!READ(pinA)) uid.encoderLast |=2;if (!READ(pinB)) uid.encoderLast |=1; uid.encoderPos += pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_CLICKENCODER_LOW_REV(pinA, pinB)   uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (!READ(pinA)) uid.encoderLast |=2;if (!READ(pinB)) uid.encoderLast |=1; uid.encoderPos -= pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_BUTTON_LOW(pin, action_)   if(READ(pin)==0) action=action_;
#define UI_KEYS_CLICKENCODER_HIGH(pinA, pinB)   uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (READ(pinA)) uid.encoderLast |=2;if (READ(pinB)) uid.encoderLast |=1; uid.encoderPos += pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_CLICKENCODER_HIGH_REV(pinA, pinB)   uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (READ(pinA)) uid.encoderLast |=2;if (READ(pinB)) uid.encoderLast |=1; uid.encoderPos -= pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_BUTTON_HIGH(pin, action_)   if(READ(pin)!=0) action=action_;
#define UI_KEYS_INIT_MATRIX(r1, r2, r3, r4, c1, c2, c3, c4)
#define UI_KEYS_MATRIX(r1, r2, r3, r4, c1, c2, c3, c4)
#define UI_KEYS_I2C_CLICKENCODER_LOW(pinA, pinB)   uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (!(keymask & pinA)) uid.encoderLast |=2;if (!(keymask & pinB)) uid.encoderLast |=1; uid.encoderPos += pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_I2C_CLICKENCODER_LOW_REV(pinA, pinB)   uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (!(keymask & pinA)) uid.encoderLast |=2;if (!(keymask & pinB)) uid.encoderLast |=1; uid.encoderPos -= pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_I2C_BUTTON_LOW(pin, action_)   if((keymask & pin)==0) action=action_;
#define UI_KEYS_I2C_CLICKENCODER_HIGH(pinA, pinB)   uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (keymask & pinA) uid.encoderLast |=2;if (keymask & pinB) uid.encoderLast |=1; uid.encoderPos += pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_I2C_CLICKENCODER_HIGH_REV(pinA, pinB)   uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (keymask & pinA) uid.encoderLast |=2;if (keymask & pinB) uid.encoderLast |=1; uid.encoderPos -= pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_I2C_BUTTON_HIGH(pin, action_)   if((pin & keymask)!=0) action=action_;
#define UI_STRING(name, text)   const char PROGMEM name[] = text;
#define UI_PAGE6(name, row1, row2, row3, row4, row5, row6)
#define UI_PAGE4(name, row1, row2, row3, row4)
#define UI_PAGE2(name, row1, row2)
#define UI_MENU_ACTION4C(name, action, rows)   UI_MENU_ACTION4(name,action,rows)
#define UI_MENU_ACTION2C(name, action, rows)   UI_MENU_ACTION2(name,action,rows)
#define UI_MENU_ACTION4(name, action, row1, row2, row3, row4)
#define UI_MENU_ACTION2(name, action, row1, row2)
#define UI_MENU_HEADLINE(name, text)   UI_STRING(name ## _txt,text);UIMenuEntry name PROGMEM = {name ## _txt,1,0,0,0};
#define UI_MENU_CHANGEACTION(name, row, action)   UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,4,action,0,0};
#define UI_MENU_ACTIONCOMMAND(name, row, action)   UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,3,action,0,0};
#define UI_MENU_ACTIONSELECTOR(name, row, entries)   UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,2,(unsigned int)&entries,0,0};
#define UI_MENU_SUBMENU(name, row, entries)   UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,2,(unsigned int)&entries,0,0};
#define UI_MENU_CHANGEACTION_FILTER(name, row, action, filter, nofilter)   UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,4,action,filter,nofilter};
#define UI_MENU_ACTIONCOMMAND_FILTER(name, row, action, filter, nofilter)   UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,3,action,filter,nofilter};
#define UI_MENU_ACTIONSELECTOR_FILTER(name, row, entries, filter, nofilter)   UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,2,(unsigned int)&entries,filter,nofilter};
#define UI_MENU_SUBMENU_FILTER(name, row, entries, filter, nofilter)   UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,2,(unsigned int)&entries,filter,nofilter};
#define UI_MENU(name, items, itemsCnt)   const UIMenuEntry * const name ## _entries[] PROGMEM = items;const UIMenu name PROGMEM = {2,0,itemsCnt,name ## _entries}
#define UI_MENU_FILESELECT(name, items, itemsCnt)   const UIMenuEntry * const name ## _entries[] PROGMEM = items;const UIMenu name PROGMEM = {1,0,itemsCnt,name ## _entries}
#define MAX_COLS   28
#define UI_HAS_KEYS   0
#define UI_DISPLAY_TYPE   0
#define UI_VERSION_STRING   "Repetier " REPETIER_VERSION
#define UI_INITIALIZE   uid.initialize();
#define UI_FAST   if(pwm_count & 4) {uid.fastAction();}
#define UI_MEDIUM   uid.mediumAction();
#define UI_SLOW   uid.slowAction();
#define UI_STATUS(status)   uid.setStatusP(PSTR(status));
#define UI_STATUS_UPD(status)   {uid.setStatusP(PSTR(status));uid.refreshPage();}
#define UI_STATUS_RAM(status)   uid.setStatus(status);
#define UI_STATUS_UPD_RAM(status)   {uid.setStatus(status);uid.refreshPage();}
#define UI_ERROR(msg)   {uid.errorMsg=(void*)PSTR(msg);pushMenu((void*)&ui_menu_error,true);}
#define UI_CLEAR_STATUS   {uid.statusMsg[0]=0;}
#define BEEP_SHORT   beep(BEEPER_SHORT_SEQUENCE);
#define BEEP_LONG   beep(BEEPER_LONG_SEQUENCE);

Functions

void beep (uint8_t duration, uint8_t count)

Variables

const int8_t encoder_table[16] PROGMEM
UIDisplay uid

Define Documentation

#define MAX_COLS   28
#define UI_ACTION_ADVANCE_K   1072
#define UI_ACTION_ADVANCE_L   1094
#define UI_ACTION_BACK   1000
#define UI_ACTION_BAUDRATE   1040
#define UI_ACTION_BED_TEMP   1009
#define UI_ACTION_CALC_LEVEL   4016
#define UI_ACTION_COOLDOWN   1080
#define UI_ACTION_DEBUG_DRYRUN   1077
#define UI_ACTION_DEBUG_ECHO   1074
#define UI_ACTION_DEBUG_ERROR   1076
#define UI_ACTION_DEBUG_INFO   1075
#define UI_ACTION_DISABLE_STEPPER   1090
#define UI_ACTION_DRIVE_MAX   1062
#define UI_ACTION_DRIVE_MIN   1061
#define UI_ACTION_DUMMY   10000
#define UI_ACTION_EMERGENCY_STOP   1004
#define UI_ACTION_EPOSITION   1008
#define UI_ACTION_EXTR_ACCELERATION   1066
#define UI_ACTION_EXTR_HEATMANAGER   1069
#define UI_ACTION_EXTR_MAX_FEEDRATE   1067
#define UI_ACTION_EXTR_START_FEEDRATE   1068
#define UI_ACTION_EXTR_STEPS   1065
#define UI_ACTION_EXTR_WATCH_PERIOD   1070
#define UI_ACTION_EXTRUDER0_OFF   1082
#define UI_ACTION_EXTRUDER0_TEMP   1085
#define UI_ACTION_EXTRUDER1_OFF   1083
#define UI_ACTION_EXTRUDER1_TEMP   1086
#define UI_ACTION_EXTRUDER2_OFF   1102
#define UI_ACTION_EXTRUDER2_TEMP   1103
#define UI_ACTION_EXTRUDER_DOWN   107
#define UI_ACTION_EXTRUDER_RELATIVE   1092
#define UI_ACTION_EXTRUDER_TEMP   1010
#define UI_ACTION_EXTRUDER_TEMP_DOWN   109
#define UI_ACTION_EXTRUDER_TEMP_UP   108
#define UI_ACTION_EXTRUDER_UP   106
#define UI_ACTION_FAN_25   1051
#define UI_ACTION_FAN_50   1052
#define UI_ACTION_FAN_75   1053
#define UI_ACTION_FAN_DOWN   113
#define UI_ACTION_FAN_FULL   1054
#define UI_ACTION_FAN_OFF   1050
#define UI_ACTION_FAN_UP   112
#define UI_ACTION_FANSPEED   1106
#define UI_ACTION_FEEDRATE_MULTIPLY   1055
#define UI_ACTION_FLOWRATE_MULTIPLY   1096
#define UI_ACTION_HEATED_BED_DOWN   111
#define UI_ACTION_HEATED_BED_OFF   1081
#define UI_ACTION_HEATED_BED_TEMP   1084
#define UI_ACTION_HEATED_BED_UP   110
#define UI_ACTION_HOME_ALL   1021
#define UI_ACTION_HOME_X   1022
#define UI_ACTION_HOME_Y   1023
#define UI_ACTION_HOME_Z   1024
#define UI_ACTION_HOMING_FEEDRATE_X   1041
#define UI_ACTION_HOMING_FEEDRATE_Y   1042
#define UI_ACTION_HOMING_FEEDRATE_Z   1043
#define UI_ACTION_KILL   1097
#define UI_ACTION_LIGHTS_ONOFF   1107
#define UI_ACTION_LOAD_EEPROM   1031
#define UI_ACTION_MAX_FEEDRATE_X   1044
#define UI_ACTION_MAX_FEEDRATE_Y   1045
#define UI_ACTION_MAX_FEEDRATE_Z   1046
#define UI_ACTION_MAX_INACTIVE   1057
#define UI_ACTION_MAX_JERK   1038
#define UI_ACTION_MAX_ZJERK   1039
#define UI_ACTION_MENU_EXTRUDER   4008
#define UI_ACTION_MENU_POSITIONS   4009
#define UI_ACTION_MENU_QUICKSETTINGS   4007
#define UI_ACTION_MENU_SDCARD   4006
#define UI_ACTION_MENU_UP   1002
#define UI_ACTION_MENU_XPOS   4000
#define UI_ACTION_MENU_XPOSFAST   4003
#define UI_ACTION_MENU_YPOS   4001
#define UI_ACTION_MENU_YPOSFAST   4004
#define UI_ACTION_MENU_ZPOS   4002
#define UI_ACTION_MENU_ZPOSFAST   4005
#define UI_ACTION_MOVE_ACCEL_X   1035
#define UI_ACTION_MOVE_ACCEL_Y   1036
#define UI_ACTION_MOVE_ACCEL_Z   1037
#define UI_ACTION_NEXT   1
#define UI_ACTION_OK   1001
#define UI_ACTION_OPS_CLASSIC   1088
#define UI_ACTION_OPS_FAST   1089
#define UI_ACTION_OPS_OFF   1087
#define UI_ACTION_PAUSE   1099
#define UI_ACTION_PID_DGAIN   1060
#define UI_ACTION_PID_IGAIN   1059
#define UI_ACTION_PID_MAX   1071
#define UI_ACTION_PID_PGAIN   1058
#define UI_ACTION_POWER   1078
#define UI_ACTION_PREHEAT_ABS   1095
#define UI_ACTION_PREHEAT_PLA   1079
#define UI_ACTION_PREVIOUS   2
#define UI_ACTION_PRINT_ACCEL_X   1032
#define UI_ACTION_PRINT_ACCEL_Y   1033
#define UI_ACTION_PRINT_ACCEL_Z   1034
#define UI_ACTION_RESET   1098
#define UI_ACTION_RESET_EXTRUDER   1091
#define UI_ACTION_SD_CONTINUE   1015
#define UI_ACTION_SD_DELETE   1012
#define UI_ACTION_SD_MOUNT   1017
#define UI_ACTION_SD_PAUSE   1014
#define UI_ACTION_SD_PRINT   1013
#define UI_ACTION_SD_STOP   1108
#define UI_ACTION_SD_UNMOUNT   1016
#define UI_ACTION_SELECT_EXTRUDER0   1093
#define UI_ACTION_SELECT_EXTRUDER1   1025
#define UI_ACTION_SELECT_EXTRUDER2   1104
#define UI_ACTION_SET_MEASURED_ORIGIN   4012
#define UI_ACTION_SET_ORIGIN   1073
#define UI_ACTION_SET_P1   4013
#define UI_ACTION_SET_P2   4014
#define UI_ACTION_SET_P3   4015
#define UI_ACTION_SHOW_USERMENU1   4101
#define UI_ACTION_SHOW_USERMENU10   4110
#define UI_ACTION_SHOW_USERMENU2   4102
#define UI_ACTION_SHOW_USERMENU3   4103
#define UI_ACTION_SHOW_USERMENU4   4104
#define UI_ACTION_SHOW_USERMENU5   4105
#define UI_ACTION_SHOW_USERMENU6   4106
#define UI_ACTION_SHOW_USERMENU7   4107
#define UI_ACTION_SHOW_USERMENU8   4108
#define UI_ACTION_SHOW_USERMENU9   4109
#define UI_ACTION_STEPPER_INACTIVE   1056
#define UI_ACTION_STEPS_X   1047
#define UI_ACTION_STEPS_Y   1048
#define UI_ACTION_STEPS_Z   1049
#define UI_ACTION_STORE_EEPROM   1030
#define UI_ACTION_TOP_MENU   1003
#define UI_ACTION_TOPMENU   8192
#define UI_ACTION_WRITE_DEBUG   1105
#define UI_ACTION_X_DOWN   101
#define UI_ACTION_X_OFFSET   1063
#define UI_ACTION_X_UP   100
#define UI_ACTION_XPOSITION   1005
#define UI_ACTION_XPOSITION_FAST   1018
#define UI_ACTION_Y_DOWN   103
#define UI_ACTION_Y_OFFSET   1064
#define UI_ACTION_Y_UP   102
#define UI_ACTION_YPOSITION   1006
#define UI_ACTION_YPOSITION_FAST   1019
#define UI_ACTION_Z_DOWN   105
#define UI_ACTION_Z_UP   104
#define UI_ACTION_ZPOSITION   1007
#define UI_ACTION_ZPOSITION_FAST   1020
#define UI_CLEAR_STATUS   {uid.statusMsg[0]=0;}
#define UI_DISPLAY_TYPE   0
#define UI_ERROR (   msg)    {uid.errorMsg=(void*)PSTR(msg);pushMenu((void*)&ui_menu_error,true);}
#define UI_FAST   if(pwm_count & 4) {uid.fastAction();}
#define UI_HAS_KEYS   0
#define UI_INITIALIZE   uid.initialize();
#define UI_KEYS_BUTTON_HIGH (   pin,
  action_ 
)    if(READ(pin)!=0) action=action_;
#define UI_KEYS_BUTTON_LOW (   pin,
  action_ 
)    if(READ(pin)==0) action=action_;
#define UI_KEYS_CLICKENCODER_HIGH (   pinA,
  pinB 
)    uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (READ(pinA)) uid.encoderLast |=2;if (READ(pinB)) uid.encoderLast |=1; uid.encoderPos += pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_CLICKENCODER_HIGH_REV (   pinA,
  pinB 
)    uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (READ(pinA)) uid.encoderLast |=2;if (READ(pinB)) uid.encoderLast |=1; uid.encoderPos -= pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_CLICKENCODER_LOW (   pinA,
  pinB 
)    uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (!READ(pinA)) uid.encoderLast |=2;if (!READ(pinB)) uid.encoderLast |=1; uid.encoderPos += pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_CLICKENCODER_LOW_REV (   pinA,
  pinB 
)    uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (!READ(pinA)) uid.encoderLast |=2;if (!READ(pinB)) uid.encoderLast |=1; uid.encoderPos -= pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_I2C_BUTTON_HIGH (   pin,
  action_ 
)    if((pin & keymask)!=0) action=action_;
#define UI_KEYS_I2C_BUTTON_LOW (   pin,
  action_ 
)    if((keymask & pin)==0) action=action_;
#define UI_KEYS_I2C_CLICKENCODER_HIGH (   pinA,
  pinB 
)    uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (keymask & pinA) uid.encoderLast |=2;if (keymask & pinB) uid.encoderLast |=1; uid.encoderPos += pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_I2C_CLICKENCODER_HIGH_REV (   pinA,
  pinB 
)    uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (keymask & pinA) uid.encoderLast |=2;if (keymask & pinB) uid.encoderLast |=1; uid.encoderPos -= pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_I2C_CLICKENCODER_LOW (   pinA,
  pinB 
)    uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (!(keymask & pinA)) uid.encoderLast |=2;if (!(keymask & pinB)) uid.encoderLast |=1; uid.encoderPos += pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_I2C_CLICKENCODER_LOW_REV (   pinA,
  pinB 
)    uid.encoderLast = (uid.encoderLast << 2) & 0x0F;if (!(keymask & pinA)) uid.encoderLast |=2;if (!(keymask & pinB)) uid.encoderLast |=1; uid.encoderPos -= pgm_read_byte(&encoder_table[uid.encoderLast]);
#define UI_KEYS_INIT_BUTTON_HIGH (   pin)    SET_INPUT(pin);PULLUP(pin,LOW);
#define UI_KEYS_INIT_BUTTON_LOW (   pin)    SET_INPUT(pin);PULLUP(pin,HIGH);
#define UI_KEYS_INIT_CLICKENCODER_HIGH (   pinA,
  pinB 
)    SET_INPUT(pinA);SET_INPUT(pinB); PULLUP(pinA,LOW);PULLUP(pinB,LOW);
#define UI_KEYS_INIT_CLICKENCODER_LOW (   pinA,
  pinB 
)    SET_INPUT(pinA);SET_INPUT(pinB); PULLUP(pinA,HIGH);PULLUP(pinB,HIGH);
#define UI_KEYS_INIT_MATRIX (   r1,
  r2,
  r3,
  r4,
  c1,
  c2,
  c3,
  c4 
)
Value:
if(c1>=0){SET_INPUT(c1);WRITE(c1,HIGH);}if(c2>=0){SET_INPUT(c2);WRITE(c2,HIGH);}if(c3>=0){SET_INPUT(c3);WRITE(c3,HIGH);}\
    if(c4>=0) {SET_INPUT(c4);WRITE(c4,HIGH);}if(r1>=0)SET_OUTPUT(r1);if(r2>=0)SET_OUTPUT(r2);if(r3>=0)SET_OUTPUT(r3);if(r4>=0)SET_OUTPUT(r4);\
    if(r1>=0)WRITE(r1,LOW);if(r2>=0)WRITE(r2,LOW);if(r3>=0)WRITE(r3,LOW);if(r4>=0)WRITE(r4,LOW);
#define UI_KEYS_MATRIX (   r1,
  r2,
  r3,
  r4,
  c1,
  c2,
  c3,
  c4 
)
Value:
{uint8_t r = (c1>=0?READ(c1):0) && (c2>=0?READ(c2):0) && (c3>=0?READ(c3):0) && (c4>=0?READ(c4):0);\
    if(!r) {\
      r = 255;\
      if(r2>=0)WRITE(r2,HIGH);if(r3>=0)WRITE(r3,HIGH);if(r4>=0)WRITE(r4,HIGH);\
      if(r1>=0) {\
        asm volatile ("nop\nnop\nnop\nnop\nnop");\
        if(!((c1>=0?READ(c1):1) && (c2>=0?READ(c2):1) && (c3>=0?READ(c3):1) && (c4>=0?READ(c4):1))) r = 0;\
        else WRITE(r1,HIGH);\
      }\
      if(r==255 && r2>=0) {\
        WRITE(r2,LOW);asm volatile ("nop\nnop\nnop\nnop\nnop");\
        if(!((c1>=0?READ(c1):1) && (c2>=0?READ(c2):1) && (c3>=0?READ(c3):1) && (c4>=0?READ(c4):1))) r = 4;\
        else WRITE(r2,HIGH);\
      }\
      if(r==255 && r3>=0) {\
        WRITE(r3,LOW);asm volatile ("nop\nnop\nnop\nnop\nnop");\
        if(!((c1>=0?READ(c1):0) && (c2>=0?READ(c2):1) && (c3>=0?READ(c3):1) && (c4>=0?READ(c4):1))) r = 8;\
        else WRITE(r3,HIGH);\
      }\
      if(r==255 && r4>=0) {\
        WRITE(r4,LOW);asm volatile ("nop\nnop\nnop\nnop\nnop");\
        if(!((c1>=0?READ(c1):1) && (c2>=0?READ(c2):1) && (c3>=0?READ(c3):1) && (c4>=0?READ(c4):1))) r = 12;\
        else WRITE(r4,HIGH);\
      }\
      if(c2>=0 && !READ(c2)) r+=1;\
      else if(c3>=0 && !READ(c3)) r+=2;\
      else if(c4>=0 && !READ(c4)) r+=3;\
      if(r<16) {action = pgm_read_word(&(matrixActions[r]));}\
    }if(r1>=0)WRITE(r1,LOW);if(r2>=0)WRITE(r2,LOW);if(r3>=0)WRITE(r3,LOW);if(r4>=0)WRITE(r4,LOW);}
#define UI_MEDIUM   uid.mediumAction();
#define UI_MENU (   name,
  items,
  itemsCnt 
)    const UIMenuEntry * const name ## _entries[] PROGMEM = items;const UIMenu name PROGMEM = {2,0,itemsCnt,name ## _entries}
#define UI_MENU_ACTION2 (   name,
  action,
  row1,
  row2 
)
Value:
UI_STRING(name ## _1txt,row1);UI_STRING(name ## _2txt,row2);\
  UIMenuEntry name ## _1 PROGMEM ={name ## _1txt,0,0,0,0};\
  UIMenuEntry name ## _2 PROGMEM ={name ## _2txt,0,0,0,0};\
  const UIMenuEntry * const name ## _entries[] PROGMEM = {&name ## _1,&name ## _2};\
  const UIMenu name PROGMEM = {3,action,2,name ## _entries};
#define UI_MENU_ACTION2C (   name,
  action,
  rows 
)    UI_MENU_ACTION2(name,action,rows)
#define UI_MENU_ACTION4 (   name,
  action,
  row1,
  row2,
  row3,
  row4 
)
Value:
UI_STRING(name ## _1txt,row1);UI_STRING(name ## _2txt,row2);UI_STRING(name ## _3txt,row3);UI_STRING(name ## _4txt,row4);\
  UIMenuEntry name ## _1 PROGMEM ={name ## _1txt,0,0,0,0};\
  UIMenuEntry name ## _2 PROGMEM ={name ## _2txt,0,0,0,0};\
  UIMenuEntry name ## _3 PROGMEM ={name ## _3txt,0,0,0,0};\
  UIMenuEntry name ## _4 PROGMEM ={name ## _4txt,0,0,0,0};\
  const UIMenuEntry * const name ## _entries[] PROGMEM = {&name ## _1,&name ## _2,&name ## _3,&name ## _4};\
  const UIMenu name PROGMEM = {3,action,4,name ## _entries};
#define UI_MENU_ACTION4C (   name,
  action,
  rows 
)    UI_MENU_ACTION4(name,action,rows)
#define UI_MENU_ACTIONCOMMAND (   name,
  row,
  action 
)    UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,3,action,0,0};
#define UI_MENU_ACTIONCOMMAND_FILTER (   name,
  row,
  action,
  filter,
  nofilter 
)    UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,3,action,filter,nofilter};
#define UI_MENU_ACTIONSELECTOR (   name,
  row,
  entries 
)    UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,2,(unsigned int)&entries,0,0};
#define UI_MENU_ACTIONSELECTOR_FILTER (   name,
  row,
  entries,
  filter,
  nofilter 
)    UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,2,(unsigned int)&entries,filter,nofilter};
#define UI_MENU_CHANGEACTION (   name,
  row,
  action 
)    UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,4,action,0,0};
#define UI_MENU_CHANGEACTION_FILTER (   name,
  row,
  action,
  filter,
  nofilter 
)    UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,4,action,filter,nofilter};
#define UI_MENU_FILESELECT (   name,
  items,
  itemsCnt 
)    const UIMenuEntry * const name ## _entries[] PROGMEM = items;const UIMenu name PROGMEM = {1,0,itemsCnt,name ## _entries}
#define UI_MENU_HEADLINE (   name,
  text 
)    UI_STRING(name ## _txt,text);UIMenuEntry name PROGMEM = {name ## _txt,1,0,0,0};
#define UI_MENU_SUBMENU (   name,
  row,
  entries 
)    UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,2,(unsigned int)&entries,0,0};
#define UI_MENU_SUBMENU_FILTER (   name,
  row,
  entries,
  filter,
  nofilter 
)    UI_STRING(name ## _txt,row);UIMenuEntry name PROGMEM = {name ## _txt,2,(unsigned int)&entries,filter,nofilter};
#define UI_PAGE2 (   name,
  row1,
  row2 
)
Value:
UI_STRING(name ## _1txt,row1);UI_STRING(name ## _2txt,row2);\
  UIMenuEntry name ## _1 PROGMEM ={name ## _1txt,0,0,0,0};\
  UIMenuEntry name ## _2 PROGMEM ={name ## _2txt,0,0,0,0};\
  const UIMenuEntry * const name ## _entries[] PROGMEM = {&name ## _1,&name ## _2};\
  const UIMenu name PROGMEM = {0,0,2,name ## _entries};
#define UI_PAGE4 (   name,
  row1,
  row2,
  row3,
  row4 
)
Value:
UI_STRING(name ## _1txt,row1);UI_STRING(name ## _2txt,row2);UI_STRING(name ## _3txt,row3);UI_STRING(name ## _4txt,row4);\
  UIMenuEntry name ## _1 PROGMEM ={name ## _1txt,0,0,0,0};\
  UIMenuEntry name ## _2 PROGMEM ={name ## _2txt,0,0,0,0};\
  UIMenuEntry name ## _3 PROGMEM ={name ## _3txt,0,0,0,0};\
  UIMenuEntry name ## _4 PROGMEM ={name ## _4txt,0,0,0,0};\
  const UIMenuEntry * const name ## _entries [] PROGMEM = {&name ## _1,&name ## _2,&name ## _3,&name ## _4};\
  const UIMenu name PROGMEM = {0,0,4,name ## _entries};
#define UI_PAGE6 (   name,
  row1,
  row2,
  row3,
  row4,
  row5,
  row6 
)
Value:
UI_STRING(name ## _1txt,row1);UI_STRING(name ## _2txt,row2);UI_STRING(name ## _3txt,row3);UI_STRING(name ## _4txt,row4);UI_STRING(name ## _5txt,row5);UI_STRING(name ## _6txt,row6);\
   UIMenuEntry name ## _1 PROGMEM ={name ## _1txt,0,0,0,0};\
   UIMenuEntry name ## _2 PROGMEM ={name ## _2txt,0,0,0,0};\
   UIMenuEntry name ## _3 PROGMEM ={name ## _3txt,0,0,0,0};\
   UIMenuEntry name ## _4 PROGMEM ={name ## _4txt,0,0,0,0};\
   UIMenuEntry name ## _5 PROGMEM ={name ## _5txt,0,0,0,0};\
   UIMenuEntry name ## _6 PROGMEM ={name ## _6txt,0,0,0,0};\
   const UIMenuEntry * const name ## _entries [] PROGMEM = {&name ## _1,&name ## _2,&name ## _3,&name ## _4,&name ## _5,&name ## _6};\
   const UIMenu name PROGMEM = {0,0,6,name ## _entries};
#define UI_SLOW   uid.slowAction();
#define UI_STATUS (   status)    uid.setStatusP(PSTR(status));
#define UI_STATUS_RAM (   status)    uid.setStatus(status);
#define UI_STATUS_UPD (   status)    {uid.setStatusP(PSTR(status));uid.refreshPage();}
#define UI_STATUS_UPD_RAM (   status)    {uid.setStatus(status);uid.refreshPage();}
#define UI_STRING (   name,
  text 
)    const char PROGMEM name[] = text;
#define UI_VERSION_STRING   "Repetier " REPETIER_VERSION

Function Documentation

void beep ( uint8_t  duration,
uint8_t  count 
)

Variable Documentation

const int8_t encoder_table [16] PROGMEM
 All Data Structures Namespaces Files Functions Variables Typedefs Friends Defines