Skip to content

Commit 8b08c0d

Browse files
committed
oops - fix up return logic
1 parent 831bd5d commit 8b08c0d

File tree

3 files changed

+21
-17
lines changed

3 files changed

+21
-17
lines changed

cpp/jddisplay.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ JDDisplay::JDDisplay(SPI *spi, Pin *cs, Pin *flow) : spi(spi), cs(cs), flow(flow
103103

104104
void JDDisplay::pollButtons(Event) {
105105
if (stepWaiting) {
106-
stepPrefix();
106+
if (stepPrefix())
107+
return;
107108
flushSend();
108109
}
109110
}
@@ -225,15 +226,15 @@ void JDDisplay::handleIncoming(jd_packet_t *pkt) {
225226
}
226227

227228

228-
void JDDisplay::stepPrefix() {
229+
bool JDDisplay::stepPrefix() {
229230
if (cs)
230231
cs->setDigitalValue(1);
231232

232233
target_disable_irq();
233234
if (!flow->getDigitalValue()) {
234235
stepWaiting = true;
235236
target_enable_irq();
236-
return;
237+
return true;
237238
}
238239
stepWaiting = false;
239240
target_enable_irq();
@@ -255,10 +256,12 @@ void JDDisplay::stepPrefix() {
255256
break;
256257
}
257258
}
259+
return false;
258260
}
259261

260262
void JDDisplay::step() {
261-
stepPrefix();
263+
if (stepPrefix())
264+
return;
262265

263266
if (displayServiceNum == 0) {
264267
// poke the control service to enumerate

cpp/jddisplay.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class JDDisplay {
4444

4545
void *queuePkt(uint32_t service_num, uint32_t service_cmd, uint32_t size);
4646
void flushSend();
47-
void stepPrefix();
47+
bool stepPrefix();
4848
void step();
4949
void sendDone(JDDisplay* jdd);
5050
static void stepStatic(void *);

test.ts

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
// controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
2-
// screen().fill(8)
3-
// screen().drawLine(0, 0, 160, 120, 1)
4-
// screen().drawLine(160, 0, 0, 120, 1)
5-
// })
6-
// controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
7-
// screen().fill(0)
8-
// screen().fillCircle(0, 0, 20, 3)
9-
// screen().fillCircle(160, 0, 20, 9)
10-
// screen().fillCircle(160, 120, 20, 7)
11-
// screen().fillCircle(0, 120, 20, 5)
12-
// })
1+
controller.left.onEvent(ControllerButtonEvent.Pressed, function () {
2+
screen().fill(8)
3+
screen().drawLine(0, 0, 160, 120, 1)
4+
screen().drawLine(160, 0, 0, 120, 1)
5+
})
6+
7+
controller.right.onEvent(ControllerButtonEvent.Pressed, function () {
8+
screen().fill(0)
9+
screen().fillCircle(0, 0, 20, 3)
10+
screen().fillCircle(160, 0, 20, 9)
11+
screen().fillCircle(160, 120, 20, 7)
12+
screen().fillCircle(0, 120, 20, 5)
13+
})
1314

1415
let presses = 0;
1516
controller.A.onEvent(

0 commit comments

Comments
 (0)