|
@@ -41,26 +41,13 @@
|
41
|
41
|
#include "watchdog_Due.h"
|
42
|
42
|
#include "HAL_timers_Due.h"
|
43
|
43
|
|
44
|
|
-//
|
45
|
|
-// Defines
|
46
|
|
-//
|
47
|
44
|
#define NUM_SERIAL 1
|
|
45
|
+// Required before the include or compilation fails
|
48
|
46
|
#define MYSERIAL0 customizedSerial
|
49
|
47
|
|
50
|
|
-// We need the previous define before the include, or compilation bombs...
|
51
|
48
|
#include "MarlinSerial_Due.h"
|
52
|
49
|
#include "MarlinSerialUSB_Due.h"
|
53
|
50
|
|
54
|
|
-#ifndef analogInputToDigitalPin
|
55
|
|
- #define analogInputToDigitalPin(p) ((p < 12u) ? (p) + 54u : -1)
|
56
|
|
-#endif
|
57
|
|
-
|
58
|
|
-#define CRITICAL_SECTION_START uint32_t primask = __get_PRIMASK(); __disable_irq()
|
59
|
|
-#define CRITICAL_SECTION_END if (!primask) __enable_irq()
|
60
|
|
-#define ISRS_ENABLED() (!__get_PRIMASK())
|
61
|
|
-#define ENABLE_ISRS() __enable_irq()
|
62
|
|
-#define DISABLE_ISRS() __disable_irq()
|
63
|
|
-
|
64
|
51
|
// On AVR this is in math.h?
|
65
|
52
|
#define square(x) ((x)*(x))
|
66
|
53
|
|
|
@@ -86,19 +73,18 @@
|
86
|
73
|
#define RST_SOFTWARE 32
|
87
|
74
|
#define RST_BACKUP 64
|
88
|
75
|
|
89
|
|
-// --------------------------------------------------------------------------
|
90
|
|
-// Types
|
91
|
|
-// --------------------------------------------------------------------------
|
92
|
|
-
|
93
|
76
|
typedef int8_t pin_t;
|
94
|
77
|
|
95
|
78
|
#define HAL_SERVO_LIB Servo
|
96
|
79
|
|
97
|
|
-// --------------------------------------------------------------------------
|
98
|
|
-// Public Variables
|
99
|
|
-// --------------------------------------------------------------------------
|
100
|
|
-
|
101
|
|
-extern uint16_t HAL_adc_result; // result of last ADC conversion
|
|
80
|
+//
|
|
81
|
+// Interrupts
|
|
82
|
+//
|
|
83
|
+#define CRITICAL_SECTION_START uint32_t primask = __get_PRIMASK(); __disable_irq()
|
|
84
|
+#define CRITICAL_SECTION_END if (!primask) __enable_irq()
|
|
85
|
+#define ISRS_ENABLED() (!__get_PRIMASK())
|
|
86
|
+#define ENABLE_ISRS() __enable_irq()
|
|
87
|
+#define DISABLE_ISRS() __disable_irq()
|
102
|
88
|
|
103
|
89
|
void cli(void); // Disable interrupts
|
104
|
90
|
void sei(void); // Enable interrupts
|
|
@@ -106,13 +92,9 @@ void sei(void); // Enable interrupts
|
106
|
92
|
void HAL_clear_reset_source(void); // clear reset reason
|
107
|
93
|
uint8_t HAL_get_reset_source(void); // get reset reason
|
108
|
94
|
|
109
|
|
-void _delay_ms(const int delay);
|
110
|
|
-
|
111
|
|
-int freeMemory(void);
|
112
|
|
-
|
113
|
|
-/**
|
114
|
|
- * SPI: Extended functions taking a channel number (hardware SPI only)
|
115
|
|
- */
|
|
95
|
+//
|
|
96
|
+// SPI: Extended functions taking a channel number (Hardware SPI only)
|
|
97
|
+//
|
116
|
98
|
|
117
|
99
|
// Write single byte to specified SPI channel
|
118
|
100
|
void spiSend(uint32_t chan, byte b);
|
|
@@ -123,18 +105,22 @@ void spiSend(uint32_t chan, const uint8_t* buf, size_t n);
|
123
|
105
|
// Read single byte from specified SPI channel
|
124
|
106
|
uint8_t spiRec(uint32_t chan);
|
125
|
107
|
|
126
|
|
-/**
|
127
|
|
- * EEPROM
|
128
|
|
- */
|
129
|
|
-
|
|
108
|
+//
|
|
109
|
+// EEPROM
|
|
110
|
+//
|
130
|
111
|
void eeprom_write_byte(unsigned char *pos, unsigned char value);
|
131
|
112
|
unsigned char eeprom_read_byte(unsigned char *pos);
|
132
|
113
|
void eeprom_read_block (void *__dst, const void *__src, size_t __n);
|
133
|
114
|
void eeprom_update_block (const void *__src, void *__dst, size_t __n);
|
134
|
115
|
|
135
|
|
-/**
|
136
|
|
- * ADC
|
137
|
|
- */
|
|
116
|
+//
|
|
117
|
+// ADC
|
|
118
|
+//
|
|
119
|
+extern uint16_t HAL_adc_result; // result of last ADC conversion
|
|
120
|
+
|
|
121
|
+#ifndef analogInputToDigitalPin
|
|
122
|
+ #define analogInputToDigitalPin(p) ((p < 12u) ? (p) + 54u : -1)
|
|
123
|
+#endif
|
138
|
124
|
|
139
|
125
|
#define HAL_ANALOG_SELECT(pin)
|
140
|
126
|
|
|
@@ -154,16 +140,16 @@ uint16_t HAL_getAdcFreerun(uint8_t chan, bool wait_for_conversion = false);
|
154
|
140
|
void HAL_enable_AdcFreerun(void);
|
155
|
141
|
//void HAL_disable_AdcFreerun(uint8_t chan);
|
156
|
142
|
|
157
|
|
-/**
|
158
|
|
- * Pin Map
|
159
|
|
- */
|
|
143
|
+//
|
|
144
|
+// Pin Map
|
|
145
|
+//
|
160
|
146
|
#define GET_PIN_MAP_PIN(index) index
|
161
|
147
|
#define GET_PIN_MAP_INDEX(pin) pin
|
162
|
148
|
#define PARSED_PIN_INDEX(code, dval) parser.intval(code, dval)
|
163
|
149
|
|
164
|
|
-/**
|
165
|
|
- * Tone
|
166
|
|
- */
|
|
150
|
+//
|
|
151
|
+// Tone
|
|
152
|
+//
|
167
|
153
|
void toneInit();
|
168
|
154
|
void tone(const pin_t _pin, const unsigned int frequency, const unsigned long duration=0);
|
169
|
155
|
void noTone(const pin_t _pin);
|
|
@@ -174,6 +160,12 @@ void noTone(const pin_t _pin);
|
174
|
160
|
void HAL_idletask(void);
|
175
|
161
|
void HAL_init(void);
|
176
|
162
|
|
|
163
|
+//
|
|
164
|
+// Utility functions
|
|
165
|
+//
|
|
166
|
+void _delay_ms(const int delay);
|
|
167
|
+int freeMemory(void);
|
|
168
|
+
|
177
|
169
|
#ifdef __cplusplus
|
178
|
170
|
extern "C" {
|
179
|
171
|
#endif
|