<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/esp8266/modpyb.h, branch esp-extra-scripts</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=esp-extra-scripts</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=esp-extra-scripts'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-04-28T11:23:55+00:00</updated>
<entry>
<title>esp8266: Move pyb.info() function to esp module and remove pyb module.</title>
<updated>2016-04-28T11:23:55+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-04-28T11:23:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a6aa35af09584bdf5d52275e0d9703ca4fec4231'/>
<id>urn:sha1:a6aa35af09584bdf5d52275e0d9703ca4fec4231</id>
<content type='text'>
All functionality of the pyb module is available in other modules, like
time, machine and os.  The only outstanding function, info(), is
(temporarily) moved to the esp module and the pyb module is removed.
</content>
</entry>
<entry>
<title>esp8266: Convert mp_hal_pin_obj_t from pin ptr to simple integer.</title>
<updated>2016-04-22T09:04:12+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-04-22T09:04:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a2d5d84ecca175fbfbf42e892d6376efd08758eb'/>
<id>urn:sha1:a2d5d84ecca175fbfbf42e892d6376efd08758eb</id>
<content type='text'>
Most pin I/O can be done just knowing the pin number as a simple
integer, and it's more efficient this way (code size, speed) because it
doesn't require a memory lookup to get the pin id from the pin object.

If the full pin object is needed then it can be easily looked up in the
pin table.
</content>
</entry>
<entry>
<title>esp8266: Add hard IRQ callbacks for pin change on GPIO0-15.</title>
<updated>2016-04-14T11:44:26+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-04-14T10:15:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=674bf1bc81ab358d167965f06e5c51f86027b050'/>
<id>urn:sha1:674bf1bc81ab358d167965f06e5c51f86027b050</id>
<content type='text'>
</content>
</entry>
<entry>
<title>esp8266: Remove pin_id field from C pin object.</title>
<updated>2016-04-14T11:43:25+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-04-13T21:38:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a9a732af1fcd45c27aff731901e347d0ed82a888'/>
<id>urn:sha1:a9a732af1fcd45c27aff731901e347d0ed82a888</id>
<content type='text'>
This field is the same as phys_port and not needed.
</content>
</entry>
<entry>
<title>esp8266: Protect modpyb.h header file from multiple inclusions.</title>
<updated>2016-04-12T13:06:54+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-04-12T12:53:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1a65ff1b72f4cccecc797902d9713bce57b17588'/>
<id>urn:sha1:1a65ff1b72f4cccecc797902d9713bce57b17588</id>
<content type='text'>
Also include py/obj.h so the header is self contained.
</content>
</entry>
<entry>
<title>esp8266: Add initial implementation of machine.UART.</title>
<updated>2016-04-06T16:45:52+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-04-06T16:45:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1a0a323ca8daadb30e5ed3d58bc7e8e8e5a95629'/>
<id>urn:sha1:1a0a323ca8daadb30e5ed3d58bc7e8e8e5a95629</id>
<content type='text'>
Currently UART(0) and UART(1) are exposed and only uart.write works.
</content>
</entry>
<entry>
<title>esp8266: Add PWM support.</title>
<updated>2016-03-25T22:32:37+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-03-02T13:37:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=632d8efa0552a1dfb2615d29afc727e339b72574'/>
<id>urn:sha1:632d8efa0552a1dfb2615d29afc727e339b72574</id>
<content type='text'>
PWM implementation uses a timer and interrupts (FRC1), taken from
Espressif's/NodeMCU's implementation and adapted for our use.

8 channels are supported, on pins 0, 2, 4, 5, 12, 13, 14, 15.

Usage:

    import machine
    pwm0 = machine.PWM(machine.Pin(0))
    pwm0.freq(1000)
    pwm0.duty(500)

Frequency is shared (ie the same) for all channels.  Frequency is
between 1 and 1000.  Duty is between 0 and 1023.
</content>
</entry>
<entry>
<title>esp8266: Implement software SPI class.</title>
<updated>2016-03-25T21:28:13+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-03-01T22:53:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=82b95f625ebedacfaf7a8809bb5d71e9bd19fb7d'/>
<id>urn:sha1:82b95f625ebedacfaf7a8809bb5d71e9bd19fb7d</id>
<content type='text'>
Supports speeds up to 500k baud, polarity=0/1, phase=0/1, and using any
pins.  Only supports MSB output at the moment.
</content>
</entry>
<entry>
<title>esp8266: Add basic I2C driver, with init and writeto methods.</title>
<updated>2016-03-24T09:17:17+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-02-11T12:43:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=dd32f02cc3c5d23acd033fda83e968b1eff3d42f'/>
<id>urn:sha1:dd32f02cc3c5d23acd033fda83e968b1eff3d42f</id>
<content type='text'>
Tested and working with SSD1306 I2C display.
</content>
</entry>
<entry>
<title>esp8266: Expose pin object as a public structure for use as C pin API.</title>
<updated>2016-03-24T09:07:41+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-02-11T11:41:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7059c8c23c85f91475a40cf9af2563df144b0f64'/>
<id>urn:sha1:7059c8c23c85f91475a40cf9af2563df144b0f64</id>
<content type='text'>
This is an initial attempt at making a simple C pin API for writing
things like I2C drivers in C.
</content>
</entry>
</feed>
