Damien George
9388a90842
stmhal: Fix USB CDC buffer overrun error.
...
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.
2014-04-16 15:51:27 +01:00
Damien George
bda2f70964
Merge pull request #498 from lurch/create-headers-from-files
...
Auto-generate the stmhal/pybcdc_inf header file from static files
2014-04-16 10:54:16 +01:00
Damien George
1381146382
stmhal: Fix C bindings of I2C.read/write.
2014-04-16 10:43:03 +01:00
Andrew Scheller
1452221aca
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
2014-04-16 02:41:26 +01:00
Damien George
2822d4e6ce
stmhal: Add I2C functions for pure master read/write.
2014-04-16 00:27:14 +01:00
Damien George
d5323f07ff
Merge pull request #496 from dhylands/fix-debug-usart
...
Fix call to enable pyb_usart_global_debug.
2014-04-15 21:25:27 +01:00
Dave Hylands
00adf67179
Fix call to enable pyb_usart_global_debug.
2014-04-15 12:20:31 -07:00
Damien George
9699ea6a2f
stmhal: Fix USB MSC so that it unmounts correctly on Mac OS X.
...
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.
2014-04-15 19:56:32 +01:00
Damien George
4d7f4eb6a9
stmhal: Add ADC function to read data at a given frequency.
...
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).
2014-04-15 19:52:56 +01:00
Damien George
e95da5b784
stmhal: Add I2C.scan method, to scan all devices on the bus.
...
Simple way to find the address of an attached I2C device.
2014-04-15 19:24:13 +01:00
Damien George
f6d25ecf7b
stmhal: Add simple README.txt to freshly-created filesystem.
2014-04-15 19:20:25 +01:00
Damien George
c13d0b3304
stmhal: Wrap skin-named-usarts in PYBV10 #if.
2014-04-15 11:52:47 +01:00
Damien George
cce7119a2b
stmhal: Work around crazy bug in USB CDC.
...
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.
2014-04-14 01:46:25 +01:00
Damien George
7e5be0b1b4
stmhal: Improved usart module a bit.
2014-04-14 01:45:58 +01:00
Damien George
6dba016a56
stmhal: Add pyb.wfi() function (calls __WFI).
2014-04-14 01:45:24 +01:00
Damien George
86a03044e3
stmhal: Add stdin/stdout/stderr objects.
...
Available via sys.std{in,out,err}. Basic reading and writing supported.
Even sys.stdin.readline!
2014-04-13 19:00:56 +01:00
Damien George
212f89e61a
stmhal: Improve USB CDC write function (increase timeout).
2014-04-13 16:39:04 +01:00
Damien George
73496fbbe4
py: Fix up source-line calculation.
...
Should address issue #475 .
2014-04-13 14:51:56 +01:00
Damien George
cb861a5c6a
stm[hal]: Init mp_sys_path and mp_sys_argv correctly.
2014-04-13 13:19:09 +01:00
Damien George
640e7e4779
Merge pull request #476 from pfalcon/static-sys
...
Convert sys module to static allocation
2014-04-13 12:52:39 +01:00
Damien George
8a1cab952f
py: Fix mp_get_buffer, and use it in more places.
...
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.
2014-04-13 12:08:52 +01:00
Damien George
0aab675108
stmhal: Little hack to dump GC allocation table using pyb.info().
...
Pass a single parameter (doesn't matter what): pyb.info(1), will dump
the GC alloc table.
2014-04-13 11:10:58 +01:00
Paul Sokolovsky
4165cd1c0c
stmhal: Update for static mod sys.
2014-04-13 07:02:57 +03:00
Damien George
82c7b1b1d5
stmhal: Put a USB structure in ROM; GC doesn't scan the data segment.
2014-04-12 18:50:20 +01:00
Damien George
b96c7c03ca
stmhal: Move fatfs volume/partition lookup table to ROM.
2014-04-12 00:51:57 +01:00
Damien George
60427864b1
stmhal: Move I2C objects to ROM.
2014-04-12 00:51:41 +01:00
Damien George
037b3e0e21
Merge pull request #458 from lurch/patch-1
...
Tweak pybcdc.inf to match recent changes to pybcdc.h
2014-04-10 22:51:48 +01:00
Damien George
3f4898456b
stmhal: Add stm module, which contains some constants for the MCU.
...
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.
2014-04-10 22:46:40 +01:00
Andrew Scheller
fec6f018ee
Tweak pybcdc.inf to match recent changes to pybcdc.h
2014-04-10 02:07:55 +01:00
Damien George
7a5f9e94ad
stmhal: Make /src/main.py just /main.py; allow SD to be used as root device.
2014-04-09 23:30:34 +01:00
Damien George
a5c18f3285
stmhal: Update windows driver; \r\n newlines and addition USB id.
2014-04-09 02:23:24 +01:00
Damien George
b99ca2cdde
stmhal: Add windows cdc .inf driver to flash filesystem.
2014-04-09 01:16:49 +01:00
Damien George
8e6f98b166
stmhal: Improve help() function.
2014-04-09 01:16:29 +01:00
Damien George
229347139b
stmhal: Add functionality to Servo object.
...
Can now calibrate, set pulse width, angle and speed.
2014-04-09 00:45:45 +01:00
Dave Hylands
3bbceeaaf7
Fix make-pins.py to support having multiple names for a pin.
...
SW and X17 now both map to PB3
2014-04-08 15:45:47 -07:00
Damien George
b04488151e
stmhal: Make USRSW re-register the EXTI callback each time it's set.
2014-04-08 22:35:42 +01:00
Damien George
2137bc7124
stmhal: in EXTI interrupt handler wrap uPy calls in gc_lock and nlr_buf.
2014-04-08 15:21:26 +01:00
Damien George
26cf55ae05
Add a check for NULL nlr_top in nlr_jump.
...
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).
2014-04-08 14:08:14 +00:00
Damien George
97790455fe
Improve REPL detecting when input needs to continue.
...
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.
2014-04-08 11:04:29 +00:00
Paul Sokolovsky
72d70cb045
unix, stmhal: Consistently use "FileIO" as class name for file objects.
...
They correspond to io.FileIO in io module hierarchy (with small caveat
that io.FileIO is raw file and works with bytes, not strings).
2014-04-08 04:08:16 +03:00
Andrew Scheller
902d9552c5
Replace some Makefile commands with variables in py/mkenv.mk
2014-04-07 01:35:45 +01:00
Damien George
65cad12d38
py: Add option to compiler to specify default code emitter.
...
Also add command line option to unix port to select emitter.
2014-04-06 11:48:15 +01:00
Damien George
27e735fd18
py: Replace stream_p with *stream_p in mp_obj_type_t.
...
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/.
2014-04-05 23:02:23 +01:00
Damien George
7efc5b3f34
py: Make globals and locals proper dictionary objects.
...
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.
2014-04-05 22:36:42 +01:00
Damien George
8b0535e23f
py: Change module globals from mp_map_t* to mp_obj_dict_t*.
...
Towards addressing issue #424 .
Had a small increase to ROM usage (order 60 bytes).
2014-04-05 21:53:54 +01:00
Damien George
12bab72d93
Improve GC finalisation code; add option to disable it.
2014-04-05 20:35:48 +01:00
Damien George
ea13f407a3
py: Change nlr_jump to nlr_raise, to aid in debugging.
...
This does not affect code size or performance when debugging turned off.
To address issue #420 .
2014-04-05 18:32:08 +01:00
Damien George
e20b6b418c
stmhal: autoflash now enters serial comms after flashing.
2014-04-05 17:16:00 +01:00
Damien George
38d3430320
stmhal: Add more escape seqs; add debugging output for escape seq.
2014-04-05 11:45:59 +01:00
Paul Sokolovsky
cdffa32699
stmhal readline: Parse XTERM Home/End key codes.
...
Which are ESC O H, ESC O F.
2014-04-05 02:47:26 +03:00