Переглянути джерело

Tweaky LPC1768 SPI spacing/style

Scott Lahteine 6 роки тому
джерело
коміт
33ec599ca0

+ 1
- 1
Marlin/src/HAL/HAL_LPC1768/HAL_spi.cpp Переглянути файл

47
  * https://github.com/MarlinFirmware/Marlin/tree/071c7a78f27078fd4aee9a3ef365fcf5e143531e
47
  * https://github.com/MarlinFirmware/Marlin/tree/071c7a78f27078fd4aee9a3ef365fcf5e143531e
48
  */
48
  */
49
 
49
 
50
-#include "src/inc/MarlinConfig.h"
50
+#include "../../inc/MarlinConfig.h"
51
 
51
 
52
 #ifdef TARGET_LPC1768
52
 #ifdef TARGET_LPC1768
53
 
53
 

+ 12
- 38
Marlin/src/HAL/HAL_LPC1768/SoftwareSPI.cpp Переглянути файл

26
  */
26
  */
27
 
27
 
28
 /**
28
 /**
29
- *
30
  * For TARGET_LPC1768
29
  * For TARGET_LPC1768
31
  */
30
  */
32
 
31
 
33
-#include "src/inc/MarlinConfig.h"
32
+#include "../../inc/MarlinConfig.h"
34
 
33
 
35
 #ifdef TARGET_LPC1768
34
 #ifdef TARGET_LPC1768
36
 
35
 
49
  *     6 - about 125 kHz peak
48
  *     6 - about 125 kHz peak
50
  */
49
  */
51
 
50
 
52
-uint8_t swSpiTransfer(uint8_t b, uint8_t spi_speed, pin_t sck_pin, pin_t miso_pin, pin_t mosi_pin) {
51
+uint8_t swSpiTransfer(uint8_t b, const uint8_t spi_speed, const pin_t sck_pin, const pin_t miso_pin, const pin_t mosi_pin) {
53
   for (uint8_t i = 0; i < 8; i++) {
52
   for (uint8_t i = 0; i < 8; i++) {
54
     if (spi_speed == 0) {
53
     if (spi_speed == 0) {
55
-      if (b & 0x80)
56
-        WRITE(mosi_pin, HIGH);
57
-      else
58
-        WRITE(mosi_pin, LOW);
59
-
54
+      WRITE(mosi_pin, !!(b & 0x80));
60
       WRITE(sck_pin, HIGH);
55
       WRITE(sck_pin, HIGH);
61
-
62
       b <<= 1;
56
       b <<= 1;
63
-
64
-      if (miso_pin >= 0)
65
-        if (READ(miso_pin)) b |= 1;
66
-
57
+      if (miso_pin >= 0 && READ(miso_pin)) b |= 1;
67
       WRITE(sck_pin, LOW);
58
       WRITE(sck_pin, LOW);
68
     }
59
     }
69
     else {
60
     else {
70
-      if (b & 0x80)
71
-        for (uint8_t j = 0; j < spi_speed; j++)
72
-          WRITE(mosi_pin, HIGH);
73
-      else
74
-        for (uint8_t j = 0; j < spi_speed; j++)
75
-          WRITE(mosi_pin, LOW);
61
+      const uint8_t state = (b & 0x80) ? HIGH : LOW;
62
+      for (uint8_t j = 0; j < spi_speed; j++)
63
+        WRITE(mosi_pin, state);
76
 
64
 
77
       for (uint8_t j = 0; j < spi_speed + (miso_pin >= 0 ? 0 : 1); j++)
65
       for (uint8_t j = 0; j < spi_speed + (miso_pin >= 0 ? 0 : 1); j++)
78
         WRITE(sck_pin, HIGH);
66
         WRITE(sck_pin, HIGH);
79
 
67
 
80
       b <<= 1;
68
       b <<= 1;
81
-
82
-      if (miso_pin >= 0)
83
-        if (READ(miso_pin)) b |= 1;
69
+      if (miso_pin >= 0 && READ(miso_pin)) b |= 1;
84
 
70
 
85
       for (uint8_t j = 0; j < spi_speed; j++)
71
       for (uint8_t j = 0; j < spi_speed; j++)
86
         WRITE(sck_pin, LOW);
72
         WRITE(sck_pin, LOW);
87
     }
73
     }
88
   }
74
   }
89
-
90
   return b;
75
   return b;
91
 }
76
 }
92
 
77
 
93
-void swSpiBegin(pin_t sck_pin, pin_t miso_pin, pin_t mosi_pin) {
78
+void swSpiBegin(const pin_t sck_pin, const pin_t miso_pin, const pin_t mosi_pin) {
94
   SET_OUTPUT(sck_pin);
79
   SET_OUTPUT(sck_pin);
95
-  if (VALID_PIN(miso_pin))
96
-    SET_INPUT(miso_pin);
80
+  if (VALID_PIN(miso_pin)) SET_INPUT(miso_pin);
97
   SET_OUTPUT(mosi_pin);
81
   SET_OUTPUT(mosi_pin);
98
 }
82
 }
99
 
83
 
100
-uint8_t swSpiInit(uint8_t spiRate, pin_t sck_pin, pin_t mosi_pin) {
101
-  uint8_t spi_speed = 0;
102
-
103
-  spiRate = MIN(spiRate, 6);
104
-
105
-  if (SystemCoreClock == 120000000)
106
-    spi_speed = 44 / POW(2, 6 - spiRate);
107
-  else
108
-    spi_speed = 38 / POW(2, 6 - spiRate);
109
-
84
+uint8_t swSpiInit(const uint8_t spiRate, const pin_t sck_pin, const pin_t mosi_pin) {
110
   WRITE(mosi_pin, HIGH);
85
   WRITE(mosi_pin, HIGH);
111
   WRITE(sck_pin, LOW);
86
   WRITE(sck_pin, LOW);
112
-
113
-  return spi_speed;
87
+  return (SystemCoreClock == 120000000 ? 44 : 38) / POW(2, 6 - min(spiRate, 6));
114
 }
88
 }
115
 
89
 
116
 #endif // TARGET_LPC1768
90
 #endif // TARGET_LPC1768

+ 18
- 18
Marlin/src/HAL/HAL_LPC1768/SoftwareSPI.h Переглянути файл

23
 #ifndef _SOFTWARE_SPI_H_
23
 #ifndef _SOFTWARE_SPI_H_
24
 #define _SOFTWARE_SPI_H_
24
 #define _SOFTWARE_SPI_H_
25
 
25
 
26
-  #include "pinmapping.h"
26
+#include "pinmapping.h"
27
 
27
 
28
-  // --------------------------------------------------------------------------
29
-  // software SPI
30
-  // --------------------------------------------------------------------------
28
+// --------------------------------------------------------------------------
29
+// Software SPI
30
+// --------------------------------------------------------------------------
31
 
31
 
32
-  /**
33
-   * This software SPI runs at multiple rates. The SD software provides an index
34
-   * (spiRate) of 0-6. The mapping is:
35
-   *     0 - about 5 MHz peak (6 MHz on LPC1769)
36
-   *     1-2 - about 2 MHz peak
37
-   *     3 - about 1 MHz peak
38
-   *     4 - about 500 kHz peak
39
-   *     5 - about 250 kHz peak
40
-   *     6 - about 125 kHz peak
41
-   */
32
+/**
33
+ * This software SPI runs at multiple rates. The SD software provides an index
34
+ * (spiRate) of 0-6. The mapping is:
35
+ *     0 - about 5 MHz peak (6 MHz on LPC1769)
36
+ *     1-2 - about 2 MHz peak
37
+ *     3 - about 1 MHz peak
38
+ *     4 - about 500 kHz peak
39
+ *     5 - about 250 kHz peak
40
+ *     6 - about 125 kHz peak
41
+ */
42
 
42
 
43
-  void swSpiBegin(pin_t sck_pin, pin_t miso_pin, pin_t mosi_pin);
43
+void swSpiBegin(const pin_t sck_pin, const pin_t miso_pin, const pin_t mosi_pin);
44
 
44
 
45
-  // Returns the spi_speed value to be passed to swSpiTransfer
46
-  uint8_t swSpiInit(uint8_t spiRate, pin_t sck_pin, pin_t mosi_pin);
45
+// Returns the spi_speed value to be passed to swSpiTransfer
46
+uint8_t swSpiInit(const uint8_t spiRate, const pin_t sck_pin, const pin_t mosi_pin);
47
 
47
 
48
-  uint8_t swSpiTransfer(uint8_t b, uint8_t spi_speed, pin_t sck_pin, pin_t miso_pin, pin_t mosi_pin);
48
+uint8_t swSpiTransfer(uint8_t b, const uint8_t spi_speed, const pin_t sck_pin, const pin_t miso_pin, const pin_t mosi_pin);
49
 
49
 
50
 #endif // _SOFTWARE_SPI_H_
50
 #endif // _SOFTWARE_SPI_H_

Завантаження…
Відмінити
Зберегти