| Age | Commit message (Collapse) | Author |
|
Needs a better solution.
|
|
Taken straight from musl and newlib. License seems compatible with MIT.
|
|
A 64-byte packet is now followed by a 0-byte packet if there is nothing
more to send. This flushes the USB endpoint.
|
|
|
|
Internal flash used for the filesystem is now written (from the cache)
only after a 5s delay, or when a file is closed, or when the drive is
unmounted from the host. This delay means that multiple writes can
accumulate in the cache, and leads to less writes to the flash, making
it last longer.
It's implemented by a high-priority interrupt that takes care of flash
erase and write, and flushing the cache.
This is still only an interim solution for the flash filesystem. It
eventually needs to be replaced with something that uses less RAM for
the cache, something that can use more of the flash, and something that
does proper wear levelling.
|
|
|
|
Need to wait for the low-level USB driver to send the data over the USB
in-endpoint before the buffer can be used again. This patch adds a
check for this.
|
|
Auto-generate the stmhal/pybcdc_inf header file from static files
|
|
|
|
The USB VID&PID are automatically extracted from usbd_desc_cdc_msc.c
and inserted into pybcdc_inf.template, ensuring that the same USB
IDs get used everywhere
|
|
|
|
Fix call to enable pyb_usart_global_debug.
|
|
|
|
Mac OS X sends a SCSI command to remove the medium when it unmounts a
drive. If this command is not honoured, then OS X will automatically
remount the drive, making it impossible to eject. This patch disables
the USB MSC when the right SCSI command is sent.
|
|
Reads ADC values into a bytearray (or similar) at a fixed rate. Needs a
better name and improved API. Also fix up DAC dma function (which also
needs a better name and API).
|
|
Simple way to find the address of an attached I2C device.
|
|
|
|
|
|
Packets of 64 bytes length are not send to the host until the following
packet is sent. Fixed by never sending packets of 64 bytes length.
|
|
|
|
|
|
Available via sys.std{in,out,err}. Basic reading and writing supported.
Even sys.stdin.readline!
|
|
|
|
Should address issue #475.
|
|
|
|
Convert sys module to static allocation
|
|
Must use mp_obj_get_type to get the type of an object. Can't assume
mp_obj_t is castable to mp_obj_base_t.
|
|
Pass a single parameter (doesn't matter what): pyb.info(1), will dump
the GC alloc table.
|
|
|
|
|
|
|
|
|
|
Tweak pybcdc.inf to match recent changes to pybcdc.h
|
|
Also contains raw memory read/write functions, read8, read16, read32,
write8, write16, write32. Can now do:
stm.write16(stm.GPIOA + stm.GPIO_BSRRL, 1 << 13)
This turns on the red LED.
With the new constant folding, the above constants for the GPIO address
are actually compiled to constants (and the addition done) at compile
time. For viper code and inline assembler, this optimisation will make
a big difference. In the inline assembler, using these constants would
not be possible without this constant folding.
|
|
|
|
|
|
|
|
|
|
|
|
Can now calibrate, set pulse width, angle and speed.
|
|
SW and X17 now both map to PB3
|
|
|
|
|
|
If no nlr_buf has been pushed, and an nlr_jump is called, then control
is transferred to nlr_jump_fail (which should bail out with a fatal
error).
|
|
Full CPython compatibility with this requires actually parsing the
input so far collected, and if it fails parsing due to lack of tokens,
then continue collecting input. It's not worth doing it this way. Not
having compatibility at this level does not hurt the goals of Micro
Python.
|
|
They correspond to io.FileIO in io module hierarchy (with small caveat
that io.FileIO is raw file and works with bytes, not strings).
|
|
|
|
Also add command line option to unix port to select emitter.
|
|
This is to reduce ROM usage. stream_p is used in file and socket types
only (at the moment), so seems a good idea to make the protocol
functions a pointer instead of the actual structure.
It saves 308 bytes of ROM in the stmhal/ port, 928 in unix/.
|
|
Finishes addressing issue #424.
In the end this was a very neat refactor that now makes things a lot
more consistent across the py code base. It allowed some
simplifications in certain places, now that everything is a dict object.
Also converted builtins tables to dictionaries. This will be useful
when we need to turn builtins into a proper module.
|