ws2812: support thingplus-rp2040 board

Added 125 MHz rp2040 timing
  Added unsafe.Pointer for pointer conversion
This commit is contained in:
Olaf Flebbe
2022-04-30 23:45:28 +02:00
committed by Ron Evans
parent 3bdab45452
commit df0d0d29a4
7 changed files with 335 additions and 11 deletions
+2 -1
View File
@@ -252,7 +252,7 @@ func writeGoWrapper(f *os.File, arch string, megahertz int) error {
fmt.Fprintf(buf, " portClear, maskClear := d.Pin.PortMaskClear()\n")
fmt.Fprintf(buf, "\n")
fmt.Fprintf(buf, " mask := interrupt.Disable()\n")
fmt.Fprintf(buf, " C.ws2812_writeByte%d(C.char(c), portSet, portClear, maskSet, maskClear)\n", megahertz)
fmt.Fprintf(buf, " C.ws2812_writeByte%d(C.char(c), (*uint32)(unsafe.Pointer(portSet)), (*uint32)(unsafe.Pointer(portClear)), maskSet, maskClear)\n", megahertz)
buf.WriteString(`
interrupt.Restore(mask)
}
@@ -293,6 +293,7 @@ package ws2812
// gen-ws2812.go and run "go generate".
import "runtime/interrupt"
import "unsafe"
/*
#include <stdint.h>