소스 검색

Patch i2c, info menu

Scott Lahteine 5 년 전
부모
커밋
035d6cd16d
4개의 변경된 파일10개의 추가작업 그리고 10개의 파일을 삭제
  1. 4
    0
      Marlin/src/HAL/HAL.h
  2. 3
    0
      Marlin/src/HAL/LPC1768/HAL.h
  3. 1
    1
      Marlin/src/core/macros.h
  4. 2
    9
      Marlin/src/lcd/menu/menu_info.cpp

+ 4
- 0
Marlin/src/HAL/HAL.h 파일 보기

@@ -27,6 +27,10 @@
27 27
 
28 28
 #define HAL_ADC_RANGE _BV(HAL_ADC_RESOLUTION)
29 29
 
30
+#ifndef I2C_ADDRESS
31
+  #define I2C_ADDRESS(A) (A)
32
+#endif
33
+
30 34
 inline void watchdog_refresh() {
31 35
   TERN_(USE_WATCHDOG, HAL_watchdog_refresh());
32 36
 }

+ 3
- 0
Marlin/src/HAL/LPC1768/HAL.h 파일 보기

@@ -48,6 +48,9 @@ extern "C" volatile uint32_t _millis;
48 48
 #include <pinmapping.h>
49 49
 #include <CDCSerial.h>
50 50
 
51
+// i2c uses 8-bit shifted address
52
+#define I2C_ADDRESS(A) ((A) << 1)
53
+
51 54
 //
52 55
 // Default graphical display delays
53 56
 //

+ 1
- 1
Marlin/src/core/macros.h 파일 보기

@@ -292,7 +292,7 @@
292 292
 #define FMOD(x, y)  fmodf(x, y)
293 293
 #define HYPOT(x,y)  SQRT(HYPOT2(x,y))
294 294
 
295
-#define I2C_ADDRESS(A) int(TERN(TARGET_LPC1768, (A) << 1, A))
295
+#define I2C_ADDRESS(A) (typeof(A))(TERN(TARGET_LPC1768, (A) << 1, A))
296 296
 
297 297
 // Use NUM_ARGS(__VA_ARGS__) to get the number of variadic arguments
298 298
 #define _NUM_ARGS(_,Z,Y,X,W,V,U,T,S,R,Q,P,O,N,M,L,K,J,I,H,G,F,E,D,C,B,A,OUT,...) OUT

+ 2
- 9
Marlin/src/lcd/menu/menu_info.cpp 파일 보기

@@ -34,8 +34,8 @@
34 34
   #include "game/game.h"
35 35
 #endif
36 36
 
37
-#define VALUE_ITEM(MSG, VALUE, STYL)    do{ strcpy_P(buffer, PSTR(": ")); strcpy(buffer + 2, VALUE); STATIC_ITEM(MSG, STYL, buffer); }while(0)
38
-#define VALUE_ITEM_P(MSG, PVALUE, STYL) do{ strcpy_P(buffer, PSTR(": ")); strcpy_P(buffer + 2, PSTR(PVALUE)); STATIC_ITEM(MSG, STYL, buffer); }while(0)
37
+#define VALUE_ITEM(MSG, VALUE, STYL)    do{ char buffer[21]; strcpy_P(buffer, PSTR(": ")); strcpy(buffer + 2, VALUE); STATIC_ITEM(MSG, STYL, buffer); }while(0)
38
+#define VALUE_ITEM_P(MSG, PVALUE, STYL) do{ char buffer[21]; strcpy_P(buffer, PSTR(": ")); strcpy_P(buffer + 2, PSTR(PVALUE)); STATIC_ITEM(MSG, STYL, buffer); }while(0)
39 39
 
40 40
 #if ENABLED(PRINTCOUNTER)
41 41
 
@@ -51,8 +51,6 @@
51 51
 
52 52
     printStatistics stats = print_job_timer.getStats();
53 53
 
54
-    char buffer[21];
55
-
56 54
     START_SCREEN();                                                                         // 12345678901234567890
57 55
     VALUE_ITEM(MSG_INFO_PRINT_COUNT, i16tostr3left(stats.totalPrints), SS_LEFT);            // Print Count: 999
58 56
     VALUE_ITEM(MSG_INFO_COMPLETED_PRINTS, i16tostr3left(stats.finishedPrints), SS_LEFT);    // Completed  : 666
@@ -100,8 +98,6 @@
100 98
 void menu_info_thermistors() {
101 99
   if (ui.use_click()) return ui.go_back();
102 100
 
103
-  char buffer[21];  // For macro usage
104
-
105 101
   START_SCREEN();
106 102
 
107 103
   #if EXTRUDERS
@@ -208,8 +204,6 @@ void menu_info_thermistors() {
208 204
 void menu_info_board() {
209 205
   if (ui.use_click()) return ui.go_back();
210 206
 
211
-  char buffer[21];  // For macro usage
212
-
213 207
   START_SCREEN();
214 208
   STATIC_ITEM_P(PSTR(BOARD_INFO_NAME), SS_CENTER|SS_INVERT);       // MyPrinterController
215 209
   #ifdef BOARD_WEBSITE_URL
@@ -248,7 +242,6 @@ void menu_info_board() {
248 242
     STATIC_ITEM_P(PSTR(STRING_DISTRIBUTION_DATE));              // YYYY-MM-DD HH:MM
249 243
     STATIC_ITEM_P(PSTR(MACHINE_NAME));                          // My3DPrinter
250 244
     STATIC_ITEM_P(PSTR(WEBSITE_URL));                           // www.my3dprinter.com
251
-    char buffer[21];
252 245
     VALUE_ITEM_P(MSG_INFO_EXTRUDERS, STRINGIFY(EXTRUDERS), SS_CENTER); // Extruders: 2
253 246
     #if ENABLED(AUTO_BED_LEVELING_3POINT)
254 247
       STATIC_ITEM(MSG_3POINT_LEVELING);                         // 3-Point Leveling

Loading…
취소
저장