File tree Expand file tree Collapse file tree 4 files changed +38
-5
lines changed Expand file tree Collapse file tree 4 files changed +38
-5
lines changed Original file line number Diff line number Diff line change 27
27
28
28
#ifndef CONFIG_UART_BUFFER
29
29
#define CONFIG_UART_BUFFER 128
30
- #endif /*CONFIG_UART_BUFFER*/
30
+ #endif
31
31
32
- #ifdef CONFIG_UART_BAUDRATE
32
+ #ifndef CONFIG_UART_FORCE_POWERED
33
+ #define CONFIG_UART_FORCE_POWERED 0
34
+ #endif
35
+
36
+ #ifdef CONFIG_UART_BAUDRATE
33
37
extern void uart_init (void );
38
+ extern int uart_enable (int enable );
34
39
extern BOOL uart_tx (uint8_t data );
35
40
extern int uart_rx (void );
36
- #endif /*CONFIG_UART_BAUDRATE*/
41
+ #endif
37
42
38
- #endif /*__UART_H__*/
43
+ #endif /*__UART_H__*/
Original file line number Diff line number Diff line change @@ -80,7 +80,15 @@ void uart_init(void)
80
80
NRF_UART0 -> EVENTS_RXDRDY = 0 ;
81
81
#else
82
82
NRF_UART0 -> ENABLE = 0 ;
83
- #endif /*CONFIG_UART_RXD_PIN*/
83
+ #endif /*CONFIG_UART_RXD_PIN*/
84
+ }
85
+
86
+ inline int uart_enable (int enable )
87
+ {
88
+ #if CONFIG_UART_FORCE_POWERED
89
+ NRF_UART0 -> ENABLE = (enable ) ? (NRF_UART0 -> ENABLE = UART_ENABLE_ENABLE_Enabled << UART_ENABLE_ENABLE_Pos ) : 0 ;
90
+ #endif
91
+ return enable ;
84
92
}
85
93
86
94
#ifdef CONFIG_UART_TXD_PIN
@@ -132,7 +140,9 @@ void UART0_IRQ_Handler(void)
132
140
if (!g_uart_buffer_count )
133
141
{
134
142
NRF_UART0 -> TASKS_STOPTX = 1 ;
143
+ #if !CONFIG_UART_FORCE_POWERED
135
144
NRF_UART0 -> ENABLE = 0 ;
145
+ #endif
136
146
}
137
147
else
138
148
{
Original file line number Diff line number Diff line change 46
46
/* double blink on invalid epoch time */
47
47
#define CONFIG_EPOCH_INVALID_BLINK 1
48
48
49
+ /* fast 1 Mbps UART data transfer vs standard 115200 bps speed */
50
+ #define CONFIG_UART_FAST 0
51
+
52
+
49
53
/* every CONFIG_PROX_SPACING-RANDOM(2^CONFIG_PROX_SPACING_RNG_BITS)
50
54
* listen for CONFIG_PROX_LISTEN - all based on LF_FREQUENCY ticks */
51
55
#define CONFIG_PROX_SPACING_RNG_BITS 9
52
56
#define CONFIG_PROX_SPACING MILLISECONDS(25)
53
57
#define CONFIG_PROX_LISTEN_RATIO 10
54
58
#define CONFIG_PROX_LISTEN MILLISECONDS(5)
55
59
60
+ #if CONFIG_UART_FAST
61
+ #define CONFIG_UART_BAUDRATE UART_BAUDRATE_BAUDRATE_Baud1M
62
+ #define CONFIG_UART_BUFFER 1024
63
+ #define CONFIG_UART_FORCE_POWERED 1
64
+ #else
56
65
#define CONFIG_UART_BAUDRATE UART_BAUDRATE_BAUDRATE_Baud115200
66
+ #endif
67
+
57
68
#define CONFIG_UART_TXD_PIN 9
58
69
#ifdef CONFIG_UART_RX
59
70
#define CONFIG_UART_RXD_PIN 8
Original file line number Diff line number Diff line change @@ -121,6 +121,7 @@ void main_entry(void)
121
121
122
122
/* initialize UART */
123
123
uart_init ();
124
+ uart_enable (1 );
124
125
125
126
/* start timer */
126
127
timer_init ();
@@ -146,6 +147,8 @@ void main_entry(void)
146
147
CONFIG_TRACKER_CHANNEL );
147
148
radio_init (tag_id );
148
149
150
+ uart_enable (0 );
151
+
149
152
/* enter main loop */
150
153
blink_fast (5 );
151
154
@@ -175,8 +178,10 @@ void main_entry(void)
175
178
blink_fast (10 );
176
179
177
180
/* dump log data & status to serial */
181
+ uart_enable (1 );
178
182
flash_log_dump ();
179
183
flash_log_status ();
184
+ uart_enable (0 );
180
185
#endif /* CONFIG_FLASH_LOGGING */
181
186
} else if (keypress_duration > 500 )
182
187
{
@@ -190,7 +195,9 @@ void main_entry(void)
190
195
#endif /* CONFIG_FLASH_LOGGING */
191
196
192
197
blink_fast (hibernate ? 3 : 6 );
198
+ uart_enable (1 );
193
199
debug_printf ("\n\rhibernate -> %i" , hibernate );
200
+ uart_enable (0 );
194
201
}
195
202
}
196
203
You can’t perform that action at this time.
0 commit comments