Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blink example not working on RPI Pico #12

Open
ashishsinghin opened this issue Apr 4, 2024 · 9 comments
Open

Blink example not working on RPI Pico #12

ashishsinghin opened this issue Apr 4, 2024 · 9 comments
Labels
question Further information is requested

Comments

@ashishsinghin
Copy link

I try to run the blink example on rpi pico with default board lead on pin 25.
but led not blink on pico.
Anyone have any suggestion, whats going wrong there.
Thanks for the support.

@deadprogram
Copy link
Member

Hello @siashish

If you change this code here to the pin number on your board it should work: https://github.com/hybridgroup/mechanoid-examples/blob/main/blinky/modules/blink/main.go#L10

Hope that helps!

@ashishsinghin
Copy link
Author

Hi @deadprogram

Despite changing the pin within the same code base for the Raspberry Pi Pico to pin 25, it still does not function as expected.

@scottfeldman
Copy link

Is it a Pico or Pico-W? I remember blinking the LED on Pico-W requires going thru the Wifi device somehow. I think @soypat has Pico-W LED working, but outside the TinyGo code base.

@soypat
Copy link

soypat commented Apr 6, 2024

@siashish if you do in fact have a Pico W you can try the following program to blink the LED and verify the LED is not damaged https://github.com/soypat/cyw43439/blob/main/examples/blinky/blinky.go

@deadprogram
Copy link
Member

Just tried with a Pico changing to led = machine.Pin(25) and it is blinking

PXL_20240406_120224813.TS.mp4

@Sandesh-verma
Copy link

Sandesh-verma commented Apr 11, 2024

HI @scottfeldman, @soypat
We are using PICO_W and the led is working fine. We have cross checked with (https://github.com/soypat/cyw43439/blob/main/examples/blinky/blinky.go) this example.

But when using mechanoid example blinky for PICO_W , we faced the below issue after running the mecha build command -

user:~/mechanoid-examples/blinky$ ls
go.mod  go.sum  main.go  modules  README.md

user:~/mechanoid-examples/blinky$ mecha build
Building module blink
Done.
package github.com/hybridgroup/mechanoid-examples/blinky/modules/blink
	imports github.com/soypat/cyw43439
	imports github.com/tinygo-org/pio/rp2-pio
	imports device/rp: build constraints exclude all Go files in /home/user/.cache/tinygo/goroot-1300efd6eec7ee073f4512e2eb558a951848cb6a899247aebb806e8f806dc738/src/device/rp
tinygo build error /home/user/mechanoid-examples/blinky/modules/blink: exit status 1
 

@Sandesh-verma
Copy link

Just tried with a Pico changing to led = machine.Pin(25) and it is blinking
PXL_20240406_120224813.TS.mp4

Hi @deadprogram

I now have a PICO (not pico_w) board with me and I was trying out the blinky example again.

However, I get the below error during mecha flash command..

~/mechanoid-examples/blinky$ mecha flash -i wazero -m pico
Building TinyGo module blink
Done.
# os
/usr/local/lib/tinygo/src/os/types_unix.go:20:18: undefined: syscall.Stat_t
/usr/local/lib/tinygo/src/os/stat_linuxlike.go:50:32: undefined: syscall.Timespec
/usr/local/lib/tinygo/src/os/dir_unix.go:55:28: undefined: syscall.ReadDirent
/usr/local/lib/tinygo/src/os/dir_unix.go:82:49: undefined: syscall.Dirent
/usr/local/lib/tinygo/src/os/dirent_linux.go:15:46: undefined: syscall.Dirent
/usr/local/lib/tinygo/src/os/dirent_linux.go:15:83: undefined: syscall.Dirent
/usr/local/lib/tinygo/src/os/dirent_linux.go:19:46: undefined: syscall.Dirent
/usr/local/lib/tinygo/src/os/dirent_linux.go:19:86: undefined: syscall.Dirent
/usr/local/lib/tinygo/src/os/dirent_linux.go:27:49: undefined: syscall.Dirent
/usr/local/lib/tinygo/src/os/dirent_linux.go:31:33: undefined: syscall.Dirent
/usr/local/lib/tinygo/src/os/dirent_linux.go:37:15: undefined: syscall.DT_BLK
/usr/local/lib/tinygo/src/os/dirent_linux.go:39:15: undefined: syscall.DT_CHR
/usr/local/lib/tinygo/src/os/dirent_linux.go:41:15: undefined: syscall.DT_DIR
/usr/local/lib/tinygo/src/os/dirent_linux.go:43:15: undefined: syscall.DT_FIFO
/usr/local/lib/tinygo/src/os/dirent_linux.go:45:15: undefined: syscall.DT_LNK
/usr/local/lib/tinygo/src/os/dirent_linux.go:47:15: undefined: syscall.DT_REG
/usr/local/lib/tinygo/src/os/dirent_linux.go:49:15: undefined: syscall.DT_SOCK
/usr/local/lib/tinygo/src/os/file_anyos.go:35:18: undefined: syscall.Chdir
/usr/local/lib/tinygo/src/os/file_anyos.go:55:36: undefined: syscall.Mkdir
/usr/local/lib/tinygo/src/os/file_anyos.go:63:34: undefined: syscall.Unlink
/usr/local/lib/tinygo/src/os/file_anyos.go:67:35: undefined: syscall.Rmdir
/usr/local/lib/tinygo/src/os/file_anyos.go:110:19: undefined: syscall.Write
/usr/local/lib/tinygo/src/os/file_anyos.go:142:18: undefined: syscall.Chmod
/usr/local/lib/tinygo/src/os/file_anyos.go:186:16: undefined: syscall.S_ISUID
/usr/local/lib/tinygo/src/os/file_anyos.go:189:16: undefined: syscall.S_ISGID
/usr/local/lib/tinygo/src/os/file_anyos.go:192:16: undefined: syscall.S_ISVTX
/usr/local/lib/tinygo/src/os/file_unix.go:28:17: undefined: syscall.Rename
/usr/local/lib/tinygo/src/os/file_unix.go:81:18: undefined: syscall.Link
/usr/local/lib/tinygo/src/os/file_unix.go:96:18: undefined: syscall.Symlink
/usr/local/lib/tinygo/src/os/file_unix.go:114:28: undefined: syscall.Readlink
/usr/local/lib/tinygo/src/os/file_unix.go:114:45: not enough arguments in call to fixCount
	have (unknown type)
	want (int, error)
/usr/local/lib/tinygo/src/os/file_unix.go:133:19: undefined: syscall.Pread
/usr/local/lib/tinygo/src/os/file_unix.go:149:20: undefined: syscall.Pwrite
/usr/local/lib/tinygo/src/os/file_unix.go:160:17: undefined: syscall.Fsync
/usr/local/lib/tinygo/src/os/stat_linuxlike.go:23:31: undefined: syscall.S_IFMT
/usr/local/lib/tinygo/src/os/stat_linuxlike.go:24:15: undefined: syscall.S_IFBLK
/usr/local/lib/tinygo/src/os/stat_linuxlike.go:26:15: undefined: syscall.S_IFCHR
/usr/local/lib/tinygo/src/os/stat_linuxlike.go:28:15: undefined: syscall.S_IFDIR
/usr/local/lib/tinygo/src/os/stat_linuxlike.go:30:15: undefined: syscall.S_IFIFO
/usr/local/lib/tinygo/src/os/stat_linuxlike.go:32:15: undefined: syscall.S_IFLNK
/usr/local/lib/tinygo/src/os/stat_linuxlike.go:34:15: undefined: syscall.S_IFREG
/usr/local/lib/tinygo/src/os/stat_linuxlike.go:36:15: undefined: syscall.S_IFSOCK
/usr/local/lib/tinygo/src/os/stat_linuxlike.go:39:25: undefined: syscall.S_ISGID
/usr/local/lib/tinygo/src/os/stat_linuxlike.go:42:25: undefined: syscall.S_ISUID
/usr/local/lib/tinygo/src/os/stat_linuxlike.go:45:25: undefined: syscall.S_ISVTX
/usr/local/lib/tinygo/src/os/stat_linuxlike.go:56:43: undefined: syscall.Stat_t
/usr/local/lib/tinygo/src/os/stat_unix.go:18:18: undefined: syscall.Fstat
/usr/local/lib/tinygo/src/os/stat_unix.go:31:37: undefined: syscall.Stat
/usr/local/lib/tinygo/src/os/stat_unix.go:44:37: undefined: syscall.Lstat
tinygo build error /home/user/mechanoid-examples/blinky/modules/blink: exit status 1

Do you have any insights on this ?

I am building on a linux machine with tinygo version

$ tinygo --version
Unknown command: --version
TinyGo is a Go compiler for small places.
version: 0.32.0

@deadprogram
Copy link
Member

@Sandesh-verma you can either try updating to the pre-release version of wazero (1.7.4) or else try the mecha command with the wasman runtime (-i wasman)

There is an issue with the latest release of tinygo with the latest release of wazero that is will be resolved on the next release of wazero.

Hope that helps!

@deadprogram deadprogram added the question Further information is requested label Jul 19, 2024
@Sandesh-verma
Copy link

Hi @deadprogram we tried mecha command with wasman runtime still we have the same error :-

user:~/mechanoid-examples/blinky$ mecha flash -i wasman -m pico

Building TinyGo module blink

Done.

# os

/usr/local/lib/tinygo/src/os/types_unix.go:20:18: undefined: syscall.Stat_t

/usr/local/lib/tinygo/src/os/stat_linuxlike.go:50:32: undefined: syscall.Timespec

/usr/local/lib/tinygo/src/os/dir_unix.go:55:28: undefined: syscall.ReadDirent

/usr/local/lib/tinygo/src/os/dir_unix.go:82:49: undefined: syscall.Dirent

/usr/local/lib/tinygo/src/os/dirent_linux.go:15:46: undefined: syscall.Dirent

/usr/local/lib/tinygo/src/os/dirent_linux.go:15:83: undefined: syscall.Dirent

/usr/local/lib/tinygo/src/os/dirent_linux.go:19:46: undefined: syscall.Dirent

/usr/local/lib/tinygo/src/os/dirent_linux.go:19:86: undefined: syscall.Dirent

/usr/local/lib/tinygo/src/os/dirent_linux.go:27:49: undefined: syscall.Dirent

/usr/local/lib/tinygo/src/os/dirent_linux.go:31:33: undefined: syscall.Dirent

/usr/local/lib/tinygo/src/os/dirent_linux.go:37:15: undefined: syscall.DT_BLK

/usr/local/lib/tinygo/src/os/dirent_linux.go:39:15: undefined: syscall.DT_CHR

/usr/local/lib/tinygo/src/os/dirent_linux.go:41:15: undefined: syscall.DT_DIR

/usr/local/lib/tinygo/src/os/dirent_linux.go:43:15: undefined: syscall.DT_FIFO

/usr/local/lib/tinygo/src/os/dirent_linux.go:45:15: undefined: syscall.DT_LNK

/usr/local/lib/tinygo/src/os/dirent_linux.go:47:15: undefined: syscall.DT_REG

/usr/local/lib/tinygo/src/os/dirent_linux.go:49:15: undefined: syscall.DT_SOCK

/usr/local/lib/tinygo/src/os/file_anyos.go:35:18: undefined: syscall.Chdir

/usr/local/lib/tinygo/src/os/file_anyos.go:55:36: undefined: syscall.Mkdir

/usr/local/lib/tinygo/src/os/file_anyos.go:63:34: undefined: syscall.Unlink

/usr/local/lib/tinygo/src/os/file_anyos.go:67:35: undefined: syscall.Rmdir

/usr/local/lib/tinygo/src/os/file_anyos.go:110:19: undefined: syscall.Write

/usr/local/lib/tinygo/src/os/file_anyos.go:142:18: undefined: syscall.Chmod

/usr/local/lib/tinygo/src/os/file_anyos.go:186:16: undefined: syscall.S_ISUID

/usr/local/lib/tinygo/src/os/file_anyos.go:189:16: undefined: syscall.S_ISGID

/usr/local/lib/tinygo/src/os/file_anyos.go:192:16: undefined: syscall.S_ISVTX

/usr/local/lib/tinygo/src/os/file_unix.go:28:17: undefined: syscall.Rename

/usr/local/lib/tinygo/src/os/file_unix.go:81:18: undefined: syscall.Link

/usr/local/lib/tinygo/src/os/file_unix.go:96:18: undefined: syscall.Symlink

/usr/local/lib/tinygo/src/os/file_unix.go:114:28: undefined: syscall.Readlink

/usr/local/lib/tinygo/src/os/file_unix.go:114:45: not enough arguments in call to fixCount

	have (unknown type)

	want (int, error)

/usr/local/lib/tinygo/src/os/file_unix.go:133:19: undefined: syscall.Pread

/usr/local/lib/tinygo/src/os/file_unix.go:149:20: undefined: syscall.Pwrite

/usr/local/lib/tinygo/src/os/file_unix.go:160:17: undefined: syscall.Fsync

/usr/local/lib/tinygo/src/os/stat_linuxlike.go:23:31: undefined: syscall.S_IFMT

/usr/local/lib/tinygo/src/os/stat_linuxlike.go:24:15: undefined: syscall.S_IFBLK

/usr/local/lib/tinygo/src/os/stat_linuxlike.go:26:15: undefined: syscall.S_IFCHR

/usr/local/lib/tinygo/src/os/stat_linuxlike.go:28:15: undefined: syscall.S_IFDIR

/usr/local/lib/tinygo/src/os/stat_linuxlike.go:30:15: undefined: syscall.S_IFIFO

/usr/local/lib/tinygo/src/os/stat_linuxlike.go:32:15: undefined: syscall.S_IFLNK

/usr/local/lib/tinygo/src/os/stat_linuxlike.go:34:15: undefined: syscall.S_IFREG

/usr/local/lib/tinygo/src/os/stat_linuxlike.go:36:15: undefined: syscall.S_IFSOCK

/usr/local/lib/tinygo/src/os/stat_linuxlike.go:39:25: undefined: syscall.S_ISGID

/usr/local/lib/tinygo/src/os/stat_linuxlike.go:42:25: undefined: syscall.S_ISUID

/usr/local/lib/tinygo/src/os/stat_linuxlike.go:45:25: undefined: syscall.S_ISVTX

/usr/local/lib/tinygo/src/os/stat_linuxlike.go:56:43: undefined: syscall.Stat_t

/usr/local/lib/tinygo/src/os/stat_unix.go:18:18: undefined: syscall.Fstat

/usr/local/lib/tinygo/src/os/stat_unix.go:31:37: undefined: syscall.Stat

/usr/local/lib/tinygo/src/os/stat_unix.go:44:37: undefined: syscall.Lstat

tinygo build error /home/eca3kor/mechanoid-examples/blinky/modules/blink: exit status 1

and for the wazero pre release version (1.7.4) we couldn't find it in the official github page , the latest version listed there is 1.7.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

5 participants