Parcourir la source

Tweaky LPC1768 SPI spacing/style

Scott Lahteine il y a 6 ans
Parent
révision
33ec599ca0

+ 1
- 1
Marlin/src/HAL/HAL_LPC1768/HAL_spi.cpp Voir le fichier

@@ -47,7 +47,7 @@
47 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 52
 #ifdef TARGET_LPC1768
53 53
 

+ 12
- 38
Marlin/src/HAL/HAL_LPC1768/SoftwareSPI.cpp Voir le fichier

@@ -26,11 +26,10 @@
26 26
  */
27 27
 
28 28
 /**
29
- *
30 29
  * For TARGET_LPC1768
31 30
  */
32 31
 
33
-#include "src/inc/MarlinConfig.h"
32
+#include "../../inc/MarlinConfig.h"
34 33
 
35 34
 #ifdef TARGET_LPC1768
36 35
 
@@ -49,68 +48,43 @@
49 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 52
   for (uint8_t i = 0; i < 8; i++) {
54 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 55
       WRITE(sck_pin, HIGH);
61
-
62 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 58
       WRITE(sck_pin, LOW);
68 59
     }
69 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 65
       for (uint8_t j = 0; j < spi_speed + (miso_pin >= 0 ? 0 : 1); j++)
78 66
         WRITE(sck_pin, HIGH);
79 67
 
80 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 71
       for (uint8_t j = 0; j < spi_speed; j++)
86 72
         WRITE(sck_pin, LOW);
87 73
     }
88 74
   }
89
-
90 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 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 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 85
   WRITE(mosi_pin, HIGH);
111 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 90
 #endif // TARGET_LPC1768

+ 18
- 18
Marlin/src/HAL/HAL_LPC1768/SoftwareSPI.h Voir le fichier

@@ -23,28 +23,28 @@
23 23
 #ifndef _SOFTWARE_SPI_H_
24 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 50
 #endif // _SOFTWARE_SPI_H_

Chargement…
Annuler
Enregistrer