Browse Source

Use fastio for HAL SPI EEPROM

Scott Lahteine 7 years ago
parent
commit
185dec800b
1 changed files with 14 additions and 14 deletions
  1. 14
    14
      Marlin/src/HAL/SpiEeprom.cpp

+ 14
- 14
Marlin/src/HAL/SpiEeprom.cpp View File

@@ -44,12 +44,12 @@ uint8_t eeprom_read_byte(uint8_t* pos) {
44 44
   eeprom_temp[0] = CMD_READ;
45 45
   eeprom_temp[1] = ((unsigned)pos>>8) & 0xFF; // addr High
46 46
   eeprom_temp[2] = (unsigned)pos& 0xFF;       // addr Low
47
-  digitalWrite(SPI_EEPROM1_CS, HIGH);
48
-  digitalWrite(SPI_EEPROM1_CS, LOW);
47
+  WRITE(SPI_EEPROM1_CS, HIGH);
48
+  WRITE(SPI_EEPROM1_CS, LOW);
49 49
   spiSend(SPI_CHAN_EEPROM1, eeprom_temp, 3);
50 50
 
51 51
   v = spiRec(SPI_CHAN_EEPROM1);
52
-  digitalWrite(SPI_EEPROM1_CS, HIGH);
52
+  WRITE(SPI_EEPROM1_CS, HIGH);
53 53
   return v;
54 54
 }
55 55
 
@@ -62,14 +62,14 @@ void eeprom_read_block(void* dest, const void* eeprom_address, size_t n) {
62 62
   eeprom_temp[0] = CMD_READ;
63 63
   eeprom_temp[1] = ((unsigned)eeprom_address>>8) & 0xFF; // addr High
64 64
   eeprom_temp[2] = (unsigned)eeprom_address& 0xFF;       // addr Low
65
-  digitalWrite(SPI_EEPROM1_CS, HIGH);
66
-  digitalWrite(SPI_EEPROM1_CS, LOW);
65
+  WRITE(SPI_EEPROM1_CS, HIGH);
66
+  WRITE(SPI_EEPROM1_CS, LOW);
67 67
   spiSend(SPI_CHAN_EEPROM1, eeprom_temp, 3);
68 68
 
69 69
   uint8_t *p_dest = (uint8_t *)dest;
70 70
   while (n--)
71 71
     *p_dest++ = spiRec(SPI_CHAN_EEPROM1);
72
-  digitalWrite(SPI_EEPROM1_CS, HIGH);
72
+  WRITE(SPI_EEPROM1_CS, HIGH);
73 73
 }
74 74
 
75 75
 void eeprom_write_byte(uint8_t* pos, uint8_t value) {
@@ -77,20 +77,20 @@ void eeprom_write_byte(uint8_t* pos, uint8_t value) {
77 77
 
78 78
   /*write enable*/
79 79
   eeprom_temp[0] = CMD_WREN;
80
-  digitalWrite(SPI_EEPROM1_CS, LOW);
80
+  WRITE(SPI_EEPROM1_CS, LOW);
81 81
   spiSend(SPI_CHAN_EEPROM1, eeprom_temp, 1);
82
-  digitalWrite(SPI_EEPROM1_CS, HIGH);
82
+  WRITE(SPI_EEPROM1_CS, HIGH);
83 83
   delay(1);
84 84
 
85 85
   /*write addr*/
86 86
   eeprom_temp[0] = CMD_WRITE;
87 87
   eeprom_temp[1] = ((unsigned)pos>>8) & 0xFF;  //addr High
88 88
   eeprom_temp[2] = (unsigned)pos & 0xFF;       //addr Low
89
-  digitalWrite(SPI_EEPROM1_CS, LOW);
89
+  WRITE(SPI_EEPROM1_CS, LOW);
90 90
   spiSend(SPI_CHAN_EEPROM1, eeprom_temp, 3);
91 91
 
92 92
   spiSend(SPI_CHAN_EEPROM1, value);
93
-  digitalWrite(SPI_EEPROM1_CS, HIGH);
93
+  WRITE(SPI_EEPROM1_CS, HIGH);
94 94
   delay(7);   // wait for page write to complete
95 95
 }
96 96
 
@@ -99,20 +99,20 @@ void eeprom_update_block(const void* src, void* eeprom_address, size_t n) {
99 99
 
100 100
   /*write enable*/
101 101
   eeprom_temp[0] = CMD_WREN;
102
-  digitalWrite(SPI_EEPROM1_CS, LOW);
102
+  WRITE(SPI_EEPROM1_CS, LOW);
103 103
   spiSend(SPI_CHAN_EEPROM1, eeprom_temp, 1);
104
-  digitalWrite(SPI_EEPROM1_CS, HIGH);
104
+  WRITE(SPI_EEPROM1_CS, HIGH);
105 105
   delay(1);
106 106
 
107 107
   /*write addr*/
108 108
   eeprom_temp[0] = CMD_WRITE;
109 109
   eeprom_temp[1] = ((unsigned)eeprom_address>>8) & 0xFF;  //addr High
110 110
   eeprom_temp[2] = (unsigned)eeprom_address & 0xFF;       //addr Low
111
-  digitalWrite(SPI_EEPROM1_CS, LOW);
111
+  WRITE(SPI_EEPROM1_CS, LOW);
112 112
   spiSend(SPI_CHAN_EEPROM1, eeprom_temp, 3);
113 113
 
114 114
   spiSend(SPI_CHAN_EEPROM1, (const uint8_t*)src, n);
115
-  digitalWrite(SPI_EEPROM1_CS, HIGH);
115
+  WRITE(SPI_EEPROM1_CS, HIGH);
116 116
   delay(7);   // wait for page write to complete
117 117
 }
118 118
 

Loading…
Cancel
Save