firmware: factor out checking if it's a read (+35 bytes XRAM).
Note: this reduces code size by 36 bytes, but allocates an extra byte of data
by
Purdea Andrei
8 months 3 weeks
firmware: factor out superset bmRequestType check (+116 bytes XRAM).
Everything that handle_pending_usb_setup() does has to be either:
USB_RECIP_DEVICE|USB_TYPE_VENDOR|USB_DIR_IN
or:
USB_RECIP_DEVICE|USB_TYPE_VENDOR|USB_DIR_OUT
Checking these two conditions again and again wastes memory
by
Purdea Andrei
8 months 3 weeks
firmware: move factored-out ep0 stall to end of fn (+13 bytes XRAM).
by
Purdea Andrei
8 months 3 weeks
firmware: remove unnecessary check (+25 bytes XRAM).
Note: on the _set_ side the check cannot be removed, because it
also affects the MFR_ALERT_MASK register
by
Purdea Andrei
8 months 3 weeks
firmware: optimize code size by using goto (+59 bytes XRAM).
by
Purdea Andrei
9 months 2 hours
manual: develop/firmware: add note to fedora tab about path
by
Purdea Andrei
8 months 3 weeks
firmware: optimize code size using bit access for IO (+33 bytes XRAM).
by
Purdea Andrei
8 months 3 weeks
manual: develop/firmware: add the package 'libusb1' to the fedora dependencies.
Looks like fedora doesn't automatically pull in the libusb1 package if the python bindings are installed
by
Purdea Andrei
8 months 3 weeks
docs: Complete list of firmware build dependencies
I have tested all three install commands in docker containers for each of those systems.
Note that at the moment on fedora:latest it doesn't build because the name of the "sdcc" executable is "sdcc-sdcc".
Fedora can be made to build by running `ln -s /usr/bin/sdcc-sdcc /usr/bin/sdcc`
Not sure if we should mention that in the documentation, or make the libfx2 makefile autodetect it.
by
Purdea Andrei
8 months 3 weeks