Achille
602f35a5ca
os: implement os.(*File).WriteAt ( #3697 )
...
os: implement os.(*File).WriteAt
Signed-off-by: Achille Roussel <achille.roussel@gmail.com>
2023-05-05 09:40:15 +02:00
deadprogram
1d5c5ca2ef
machine/usb/descriptor: further refactor HID report creation
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-05-05 07:44:03 +02:00
deadprogram
90935703e6
machine/usb/descriptor: rename and export Append() to make it easier to create new descriptors in user code
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-05-05 07:44:03 +02:00
deadprogram
d8ee520bdc
machine/usb/descriptor: refactor HID report creation
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-05-05 07:44:03 +02:00
Achille Roussel
ee3af40cab
os: implement os.(*File).ReadDir for -target=wasi
...
Signed-off-by: Achille Roussel <achille.roussel@gmail.com>
2023-05-03 21:24:11 +02:00
Achille Roussel
666312f63f
implement Sync on stdioFileHandle
...
Signed-off-by: Achille Roussel <achille.roussel@gmail.com>
2023-05-03 19:37:53 +02:00
Achille Roussel
ccfe92a58c
os: add os.(*File).Sync
...
Signed-off-by: Achille Roussel <achille.roussel@gmail.com>
2023-05-03 19:37:53 +02:00
Achille Roussel
4fa6a132e2
syscall: add fsync using libc
...
Signed-off-by: Achille Roussel <achille.roussel@gmail.com>
2023-05-03 19:37:53 +02:00
deadprogram
1a67795fd3
examples/usb-midi: remove serial communication from MIDI example
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-04-29 10:06:52 +02:00
deadprogram
c70daa2497
machine/usb: move MIDI under usb/adc (Audio Device Class) package
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-04-29 10:06:52 +02:00
sago35
d28b58e4dd
machine/usb/hid/mouse: add support for mouse back and forward
2023-04-28 17:41:00 +02:00
deadprogram
25b03414dc
machine/usb/hid/joystick: handle case where we cannot find the correct HID descriptor
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-04-28 15:15:54 +02:00
deadprogram
2ab7ee6a8a
machine/usb: refactoring descriptors into subpackage for modularity
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-04-28 15:15:54 +02:00
Damian Gryski
4c0fbbfc7f
add struct size and field offsets to reflect data
2023-04-27 11:15:41 +02:00
Ayke van Laethem
839edec64c
cortexm: fix stack size offset
...
The old code was broken and led to a HardFault in a rather convoluted
way:
1. The CFA offset was incorrect, in fact it was not aligned (the stack
is supposed to always be aligned to 4 bytes at least).
2. This unaligned size was then used for stack size calculations.
3. A stack that wasn't a multiple of 4 was allocated.
4. The calleeSavedRegs struct (in `(internal/task.state).archInit`) was
not correctly aligned.
5. Writing to this struct resulted in a HardFault.
2023-04-27 00:11:53 +02:00
Ayke van Laethem
0b2aec1164
runtime: improve panic message when heap allocating in an interrupt
...
The old message may have been confusing. With the new message, it should
be more clear that we mean a _heap_ allocation.
2023-04-26 20:04:06 +02:00
Ayke van Laethem
3392827c3e
runtime: print the address where a panic happened
...
This is not very useful in itself, but makes it possible to detect this
address in the output. See the next commit.
This adds around 50 bytes to each binary (except for AVR and wasm). This
is unfortunate, but I think this feature is quite useful still.
A future enhancement might be to create a build tag for extended panic
information that's not set by default.
2023-04-26 18:40:35 +02:00
Scott Feldman
59838338ba
Add machine.CPUReset() ( #3595 )
...
machine: Add machine.CPUReset() for cortexm
2023-04-25 19:10:47 +02:00
deadprogram
c89a684ad2
machine/gba: rename display and make pointer receivers
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-04-25 16:43:29 +02:00
deadprogram
79b63dd041
device/gba: additional IO mapping for sound, DMA, SIO, and sprites
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-04-24 18:11:29 +02:00
Ayke van Laethem
64957c5254
samd51: fix ADC multisampling
...
Multisampling/averaging (using the Samples configuration property) was
returning incorrect values. When I investigated this, I found that the
samd51 gives erratic values when using multisampling together with fewer
than 16 bits resolution.
I fixed this by forcing 16 bit resolution when multisampling, and
adjusting the output to account for multisampling.
Found while reading the battery value on a pybadge, which gave
non-sensible values with Samples set to a value larger than 1.
2023-04-18 19:00:11 +02:00
deadprogram
48ef68dd86
examples: replace fmt with encoding/hex in usb-midi example
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-04-17 08:54:06 +02:00
Damian Gryski
2b1dc4fee5
testing: add -test.shuffle to order randomize test and benchmark order
2023-04-12 20:43:41 +02:00
Damian Gryski
1672610749
testing: move runtime.GC() call to runN to match upstream
2023-04-11 12:16:25 +02:00
Damian Gryski
e00a2395d9
testing: fix benchmark logging output
2023-04-11 12:16:25 +02:00
sago35
42175496eb
machine/atsamd51: remove extra BK0RDY clear
2023-04-10 09:16:52 +02:00
Ayke van Laethem
3b4e543f4e
rp2040: use DMA for send-only SPI transfers
...
This improves slightly. It also is some groundwork for better DMA
support in TinyGo in the future.
I'm not entirely sure why it improves performance (in theory the old
code should already saturate the SPI bus) but it does, so 🤷
2023-04-04 12:22:52 +02:00
Kenneth Bell
ad3e9e1a77
i2c: implement target mode for rp2040 and nrf
2023-04-04 09:36:42 +02:00
Kenneth Bell
e0385e48d0
nrf: new peripheral type for nrf528xx chips
2023-04-04 09:36:42 +02:00
Kenneth Bell
feadb9c85c
nrf: move nrf52 family code to correct file name
2023-04-04 09:36:42 +02:00
Kenneth Bell
4bf7308d26
machine: make gosched available to machine package
2023-04-04 09:36:42 +02:00
Ayke van Laethem
19e4db45db
samd51: use correct SPI frequency
...
The SPI frequency was rounded up, not rounded down. This meant that if
you wanted to configure 15MHz for example, it would pick the next
available frequency (24MHz). That's unsafe, the safe option is to round
down and the SPI support for most other chips also rounds down for this
reason.
In addition, I've improved SPI clock selection so that it will pick the
best clock of the two, widening the available frequencies. See the
comments in the patch for details.
2023-04-03 19:40:20 +02:00
sago35
71b44e79b3
machine/usb/hid/joystick: allow joystick settings override
2023-04-03 00:50:30 +02:00
deadprogram
9e97566b5f
machine/usb/hid/joystick: move joystick under HID as it belongs and also remove duplicate code
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-04-03 00:50:30 +02:00
Ayke van Laethem
7d83e76833
rp2040: use 4MHz as default frequency for SPI
...
This matches other SPI implementations. I think the original value of
115200 was from a confusion with UART.
2023-04-02 01:04:37 +02:00
Damian Gryski
9e7882b1b7
reflect: uncomment a another test the fails and doc some that don't
2023-04-01 22:46:46 +02:00
Damian Gryski
0c4f9d1f19
reflect; uncomment SetZero (but comment out the parts that fail)
2023-04-01 22:46:46 +02:00
Damian Gryski
a85cb22193
reflect: uncomment TestAppend and fix a bug it found
2023-04-01 22:46:46 +02:00
Damian Gryski
60bb832c89
reflect: handle Convert'ing between identical underlying types
...
Needed for go-jose/v3
2023-04-01 22:46:46 +02:00
Ayke van Laethem
6eda52a289
rp2040: remove SPI deadline
...
Removing it improves SPI performance by about 20% for me (updating the
display of a Gopher Badge).
2023-04-01 11:18:51 +02:00
Damian Gryski
8badf79af9
testing: remove unused variable left over from count
prototyping
2023-03-31 19:17:02 -07:00
Damian Gryski
63aaa43072
testing: add test.skip
...
Fixes #3056
2023-03-31 19:17:02 -07:00
Damian Gryski
ee81c31884
testing: import new version of match.go
2023-03-31 19:17:02 -07:00
Damian Gryski
9182664845
testing: make test output unbuffered when verbose
...
Fixes #3579
2023-03-31 09:07:13 +02:00
Damian Gryski
698b1f19c6
testing: support -test.count
...
This makes running benchmarks repeatedly easier.
2023-03-31 09:07:13 +02:00
Damian Gryski
e6ccdd9d1a
reflect: another obscure RO bug
2023-03-31 01:08:04 +02:00
Damian Gryski
b39a982067
reflect: uncomment another test and fix RO logic issues it uncovered
2023-03-31 01:08:04 +02:00
Damian Gryski
b044d4ff3d
reflect: add more RO checks
2023-03-30 21:10:54 +02:00
Damian Gryski
0cd93a3a9e
reflect: add valueFlagRO
2023-03-30 21:10:54 +02:00
Damian Gryski
5faff2e13a
reflect: add sipmlified strconv.Quote() implementation for struct tags
2023-03-30 21:10:54 +02:00