Skip to content

Commit 715c33d

Browse files
aykevldeadprogram
authored andcommitted
all: prepare for CGo changes in TinyGo
For details, see: tinygo-org/tinygo#3927 This change just means we need to be more careful to use the right type, now that types like C.uint32_t don't match to the Go equivalent (like uint32).
1 parent fd21e6a commit 715c33d

File tree

5 files changed

+11
-11
lines changed

5 files changed

+11
-11
lines changed

delay/sleep.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ func Sleep(duration time.Duration) {
4949
// * The CPU frequency is lower than 256MHz. If it is higher, long sleep
5050
// times (1-16ms) may not work correctly.
5151
cycles := uint32(duration) * (machine.CPUFrequency() / 1000_000) / 1000
52-
slept := C.tinygo_drivers_sleep(cycles)
52+
slept := C.tinygo_drivers_sleep(C.uint32_t(cycles))
5353
if !slept {
5454
// Fallback for platforms without inline assembly support.
5555
time.Sleep(duration)

ws2812/gen-ws2812.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ func writeGoWrapper(f *os.File, arch string, megahertz int) error {
251251
fmt.Fprintf(buf, " portClear, maskClear := d.Pin.PortMaskClear()\n")
252252
fmt.Fprintf(buf, "\n")
253253
fmt.Fprintf(buf, " mask := interrupt.Disable()\n")
254-
fmt.Fprintf(buf, " C.ws2812_writeByte%d(C.char(c), (*uint32)(unsafe.Pointer(portSet)), (*uint32)(unsafe.Pointer(portClear)), maskSet, maskClear)\n", megahertz)
254+
fmt.Fprintf(buf, " C.ws2812_writeByte%d(C.char(c), (*C.uint32_t)(unsafe.Pointer(portSet)), (*C.uint32_t)(unsafe.Pointer(portClear)), C.uint32_t(maskSet), C.uint32_t(maskClear))\n", megahertz)
255255
buf.WriteString(`
256256
interrupt.Restore(mask)
257257
}

ws2812/ws2812-asm_cortexm.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1328,7 +1328,7 @@ func (d Device) writeByte16(c byte) {
13281328
portClear, maskClear := d.Pin.PortMaskClear()
13291329

13301330
mask := interrupt.Disable()
1331-
C.ws2812_writeByte16(C.char(c), (*uint32)(unsafe.Pointer(portSet)), (*uint32)(unsafe.Pointer(portClear)), maskSet, maskClear)
1331+
C.ws2812_writeByte16(C.char(c), (*C.uint32_t)(unsafe.Pointer(portSet)), (*C.uint32_t)(unsafe.Pointer(portClear)), C.uint32_t(maskSet), C.uint32_t(maskClear))
13321332

13331333
interrupt.Restore(mask)
13341334
}
@@ -1338,7 +1338,7 @@ func (d Device) writeByte48(c byte) {
13381338
portClear, maskClear := d.Pin.PortMaskClear()
13391339

13401340
mask := interrupt.Disable()
1341-
C.ws2812_writeByte48(C.char(c), (*uint32)(unsafe.Pointer(portSet)), (*uint32)(unsafe.Pointer(portClear)), maskSet, maskClear)
1341+
C.ws2812_writeByte48(C.char(c), (*C.uint32_t)(unsafe.Pointer(portSet)), (*C.uint32_t)(unsafe.Pointer(portClear)), C.uint32_t(maskSet), C.uint32_t(maskClear))
13421342

13431343
interrupt.Restore(mask)
13441344
}
@@ -1348,7 +1348,7 @@ func (d Device) writeByte64(c byte) {
13481348
portClear, maskClear := d.Pin.PortMaskClear()
13491349

13501350
mask := interrupt.Disable()
1351-
C.ws2812_writeByte64(C.char(c), (*uint32)(unsafe.Pointer(portSet)), (*uint32)(unsafe.Pointer(portClear)), maskSet, maskClear)
1351+
C.ws2812_writeByte64(C.char(c), (*C.uint32_t)(unsafe.Pointer(portSet)), (*C.uint32_t)(unsafe.Pointer(portClear)), C.uint32_t(maskSet), C.uint32_t(maskClear))
13521352

13531353
interrupt.Restore(mask)
13541354
}
@@ -1358,7 +1358,7 @@ func (d Device) writeByte120(c byte) {
13581358
portClear, maskClear := d.Pin.PortMaskClear()
13591359

13601360
mask := interrupt.Disable()
1361-
C.ws2812_writeByte120(C.char(c), (*uint32)(unsafe.Pointer(portSet)), (*uint32)(unsafe.Pointer(portClear)), maskSet, maskClear)
1361+
C.ws2812_writeByte120(C.char(c), (*C.uint32_t)(unsafe.Pointer(portSet)), (*C.uint32_t)(unsafe.Pointer(portClear)), C.uint32_t(maskSet), C.uint32_t(maskClear))
13621362

13631363
interrupt.Restore(mask)
13641364
}
@@ -1368,7 +1368,7 @@ func (d Device) writeByte125(c byte) {
13681368
portClear, maskClear := d.Pin.PortMaskClear()
13691369

13701370
mask := interrupt.Disable()
1371-
C.ws2812_writeByte125(C.char(c), (*uint32)(unsafe.Pointer(portSet)), (*uint32)(unsafe.Pointer(portClear)), maskSet, maskClear)
1371+
C.ws2812_writeByte125(C.char(c), (*C.uint32_t)(unsafe.Pointer(portSet)), (*C.uint32_t)(unsafe.Pointer(portClear)), C.uint32_t(maskSet), C.uint32_t(maskClear))
13721372

13731373
interrupt.Restore(mask)
13741374
}
@@ -1378,7 +1378,7 @@ func (d Device) writeByte168(c byte) {
13781378
portClear, maskClear := d.Pin.PortMaskClear()
13791379

13801380
mask := interrupt.Disable()
1381-
C.ws2812_writeByte168(C.char(c), (*uint32)(unsafe.Pointer(portSet)), (*uint32)(unsafe.Pointer(portClear)), maskSet, maskClear)
1381+
C.ws2812_writeByte168(C.char(c), (*C.uint32_t)(unsafe.Pointer(portSet)), (*C.uint32_t)(unsafe.Pointer(portClear)), C.uint32_t(maskSet), C.uint32_t(maskClear))
13821382

13831383
interrupt.Restore(mask)
13841384
}

ws2812/ws2812-asm_tinygoriscv.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1114,7 +1114,7 @@ func (d Device) writeByte160(c byte) {
11141114
portClear, maskClear := d.Pin.PortMaskClear()
11151115

11161116
mask := interrupt.Disable()
1117-
C.ws2812_writeByte160(C.char(c), (*uint32)(unsafe.Pointer(portSet)), (*uint32)(unsafe.Pointer(portClear)), maskSet, maskClear)
1117+
C.ws2812_writeByte160(C.char(c), (*C.uint32_t)(unsafe.Pointer(portSet)), (*C.uint32_t)(unsafe.Pointer(portClear)), C.uint32_t(maskSet), C.uint32_t(maskClear))
11181118

11191119
interrupt.Restore(mask)
11201120
}
@@ -1124,7 +1124,7 @@ func (d Device) writeByte320(c byte) {
11241124
portClear, maskClear := d.Pin.PortMaskClear()
11251125

11261126
mask := interrupt.Disable()
1127-
C.ws2812_writeByte320(C.char(c), (*uint32)(unsafe.Pointer(portSet)), (*uint32)(unsafe.Pointer(portClear)), maskSet, maskClear)
1127+
C.ws2812_writeByte320(C.char(c), (*C.uint32_t)(unsafe.Pointer(portSet)), (*C.uint32_t)(unsafe.Pointer(portClear)), C.uint32_t(maskSet), C.uint32_t(maskClear))
11281128

11291129
interrupt.Restore(mask)
11301130
}

ws2812/ws2812_avr.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func (d Device) WriteByte(c byte) error {
6060

6161
switch machine.CPUFrequency() {
6262
case 16e6: // 16MHz
63-
C.ws2812_writeByte16(C.char(c), (*uint8)(unsafe.Pointer(port)), maskSet, maskClear)
63+
C.ws2812_writeByte16(C.char(c), (*C.uint8_t)(unsafe.Pointer(port)), C.uint8_t(maskSet), C.uint8_t(maskClear))
6464
interrupt.Restore(mask)
6565
return nil
6666
default:

0 commit comments

Comments
 (0)