Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
micropython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
xpstem
micropython
Commits
ceb16900
Commit
ceb16900
authored
Oct 20, 2015
by
danicampora
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
docs: Several corrections to the classes in the machine module.
parent
04db848d
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
72 additions
and
92 deletions
+72
-92
docs/library/machine.HeartBeat.rst
docs/library/machine.HeartBeat.rst
+0
-47
docs/library/machine.Pin.rst
docs/library/machine.Pin.rst
+6
-3
docs/library/machine.SD.rst
docs/library/machine.SD.rst
+4
-5
docs/library/machine.Timer.rst
docs/library/machine.Timer.rst
+11
-8
docs/library/machine.UART.rst
docs/library/machine.UART.rst
+1
-1
docs/library/machine.WDT.rst
docs/library/machine.WDT.rst
+2
-1
docs/library/machine.rst
docs/library/machine.rst
+0
-1
docs/library/network.rst
docs/library/network.rst
+4
-0
docs/library/ussl.rst
docs/library/ussl.rst
+5
-0
docs/wipy/general.rst
docs/wipy/general.rst
+31
-18
docs/wipy/quickref.rst
docs/wipy/quickref.rst
+8
-8
No files found.
docs/library/machine.HeartBeat.rst
deleted
100644 → 0
View file @
04db848d
.. _machine.HeartBeat:
class HeartBeat -- heart beat LED
=================================
The HeartBeat class controls the heart beat led which by default
flashes once every 5s. The user can disable the HeartBeat and then
is free to control this LED manually through GP25 using the Pin
class. The GP25 can also be remapped as a PWM output, an this
can be used to control the light intesity of the heart beat LED.
Example usage::
hb = machine.HeartBeat()
hb.disable() # disable the heart beat
hb.enable() # enable the heart beat
Constructors
------------
.. class:: machine.HeartBeat()
Create a HeartBeat object.
Methods
-------
.. method:: heartbeat.enable()
Enable the heart beat. The LED will flash once every 5 seconds.
.. method:: heartbeat.disable()
Disable the heart beat. The LED can then be controlled manually.
Example::
from machine import HeartBeat
from machine import Pin
# disable the heart beat
HeartBeat().disable()
# init GP25 as output
led = Pin('GP25', mode=Pin.OUT)
# toggle the led
led.toggle()
...
docs/library/machine.Pin.rst
View file @
ceb16900
...
...
@@ -13,15 +13,18 @@ Usage Model:
Board pins are identified by their string id::
g = machine.Pin('GP9', mode=machine.Pin.OUT, pull=None, drive=machine.Pin.MED_POWER, alt=-1)
from machine import Pin
g = machine.Pin('GP9', mode=Pin.OUT, pull=None, drive=Pin.MED_POWER, alt=-1)
You can also configure the Pin to generate interrupts. For instance::
from machine import Pin
def pincb(pin):
print(pin.id())
pin_int =
machine.Pin('GP10', mode=Pin.IN, pull=machine.
Pin.PULL_DOWN)
pin_int.irq(mode=
machine.
Pin.IRQ_RISING, handler=pincb)
pin_int =
Pin('GP10', mode=Pin.IN, pull=
Pin.PULL_DOWN)
pin_int.irq(mode=Pin.IRQ_RISING, handler=pincb)
# the callback can be triggered manually
pin_int.irq()()
# to disable the callback
...
...
docs/library/machine.SD.rst
View file @
ceb16900
...
...
@@ -26,16 +26,15 @@ Constructors
.. class:: machine.SD(id,... )
Create a SD card object. See
init
for parameters if initialization.
Create a SD card object. See
``init()``
for parameters if initialization.
Methods
-------
.. method:: sd.init(id, pins=('GP10', 'GP11', 'GP15'))
.. method:: sd.init(id
=0
, pins=('GP10', 'GP11', 'GP15'))
Enable the SD card.
In order to initalize the card, give it a 3-tuple ``(clk_pin, cmd_pin, dat0_pin)``
ID defaults to zero.
Enable the SD card. In order to initalize the card, give it a 3-tuple:
``(clk_pin, cmd_pin, dat0_pin)``.
.. method:: sd.deinit()
...
...
docs/library/machine.Timer.rst
View file @
ceb16900
...
...
@@ -19,13 +19,15 @@ class Timer -- control internal timers
Example usage to toggle an LED at a fixed frequency::
tim = machine.Timer(4) # create a timer object using timer 4
tim.init(mode=Timer.PERIODIC) # initialize it in periodic mode
tim_ch = tim.channel(Timer.A, freq=2) # configure channel A at a frequency of 2Hz
tim_ch.callback(handler=lambda t:led.toggle()) # toggle a LED on every cycle of the timer
from machine import Timer
tim = Timer(4) # create a timer object using timer 4
tim.init(mode=Timer.PERIODIC) # initialize it in periodic mode
tim_ch = tim.channel(Timer.A, freq=2) # configure channel A at a frequency of 2Hz
tim_ch.callback(handler=lambda t:led.toggle()) # toggle a LED on every cycle of the timer
Example using named function for the callback::
from machine import Timer
tim = Timer(1, mode=Timer.PERIODIC)
tim_a = tim.channel(Timer.A, freq=1000)
...
...
@@ -39,8 +41,9 @@ class Timer -- control internal timers
Further examples::
tim1 = machine.Timer(2, mode=Timer.EVENT_COUNT) # initialize it capture mode
tim2 = machine.Timer(1, mode=Timer.PWM) # initialize it in PWM mode
from machine import Timer
tim1 = Timer(2, mode=Timer.EVENT_COUNT) # initialize it capture mode
tim2 = Timer(1, mode=Timer.PWM) # initialize it in PWM mode
tim_ch = tim1.channel(Timer.A, freq=1, polarity=Timer.POSITIVE) # start the event counter with a frequency of 1Hz and triggered by positive edges
tim_ch = tim2.channel(Timer.B, freq=10000, duty_cycle=50) # start the PWM on channel B with a 50% duty cycle
tim_ch.time() # get the current time in usec (can also be set)
...
...
@@ -54,8 +57,8 @@ class Timer -- control internal timers
.. note::
Memory can't be allocated
during a callback
(an interrupt) and so
exceptions raised within a
callback
don't give much information. See
Memory can't be allocated
inside irq handlers
(an interrupt) and so
exceptions raised within a
handler
don't give much information. See
:func:`micropython.alloc_emergency_exception_buf` for how to get around this
limitation.
...
...
docs/library/machine.UART.rst
View file @
ceb16900
...
...
@@ -155,7 +155,7 @@ Methods
This means that when the handler function is called there will be between 1 to 8
characters waiting.
Returns a irq object.
Returns a
n
irq object.
Constants
---------
...
...
docs/library/machine.WDT.rst
View file @
ceb16900
...
...
@@ -10,7 +10,8 @@ watchdog periodically to prevent it from expiring and resetting the system.
Example usage::
wdt = machine.WDT(timeout=2000) # enable with a timeout of 2s
from machine import WDT
wdt = WDT(timeout=2000) # enable it with a timeout of 2s
wdt.feed()
Constructors
...
...
docs/library/machine.rst
View file @
ceb16900
...
...
@@ -121,7 +121,6 @@ Classes
:maxdepth: 1
machine.ADC.rst
machine.HeartBeat.rst
machine.I2C.rst
machine.Pin.rst
machine.RTC.rst
...
...
docs/library/network.rst
View file @
ceb16900
...
...
@@ -34,6 +34,10 @@ For example::
class server
============
The server class controls the behaviour and the configuration of the FTP and telnet
services running on the WiPy. Any changes performed using this class' methods will
affect both.
Constructors
------------
...
...
docs/library/ussl.rst
View file @
ceb16900
...
...
@@ -31,6 +31,11 @@ Functions
- The certificate to authenticate ourselves goes in: **'/flash/cert/cert.pem'**
- The key for our own certificate goes in: **'/flash/cert/private.key'**
.. note::
When these files are stored, they are placed inside the internal **hidden** file system
(just like firmware updates), and therefore they are never visible.
For instance to connect to the Blynk servers using certificates, take the file ``ca.pem`` located
in the `blynk examples folder <https://github.com/wipy/wipy/tree/master/examples/blynk>`_
and put it in '/flash/cert/'. Then do::
...
...
docs/wipy/general.rst
View file @
ceb16900
...
...
@@ -18,11 +18,9 @@ Before applying power
The GPIO pins of the WiPy are NOT 5V tolerant, connecting them to voltages higer
than 3.6V will cause irreparable damage to the board. ADC pins, when configured
in analog mode cannot withstand vol
at
ges above 1.8V. Keep these considerations in
in analog mode cannot withstand vol
ta
ges above 1.8V. Keep these considerations in
mind when wiring your electronics.
WLAN default behaviour
----------------------
...
...
@@ -33,29 +31,43 @@ to gain access to the interactive prompt, open a telnet session to that IP addre
the default port (23). You will be asked for credentials:
``login: micro`` and ``password: python``
Local file system and SD card
-----------------------------
Telnet REPL
-----------
Linux stock telnet works like a charm (also on OSX), but other tools like putty
work quite too. The default credentials are: **user:** ``micro``, **password:** ``python``.
See :ref:`network.server <network.server>` for info on how to change the defaults.
For instance, on a linux shell (when connected to the WiPy in AP mode)::
$ telnet 192.168.1.1
Local file system and FTP access
--------------------------------
There is a small internal file system (a drive) on the WiPy, called ``/flash``,
which is stored within the external serial flash memory. If a micro SD card
is hooked-up and
enabled, it is available as ``/sd``
.
is hooked-up and
mounted, it will be available as well
.
When the WiPy boots up, it always boots from the ``boot.py`` located in the
``/flash`` file system. If during the boot process the SD card is enabled and
it's selected as the current drive then the WiPy will try to execute ``main.py``
that should be located in the SD card.
When the WiPy starts up, it always boots from the ``boot.py`` located in the
``/flash`` file system.
The file system is accessible via the native FTP server running in the WiPy.
Open your FTP client of choice and connect to:
``ftp://192.168.1.1``, ``user: micro``, ``password: python``
**url:** ``ftp://192.168.1.1``, **user:** ``micro``, **password:** ``python``
See :ref:`network.server <network.server>` for info on how to change the defaults.
The recommended clients are: Linux stock FTP (also in OSX), Filezilla and FireFTP.
For example, on a linux shell::
$ ftp 192.168.1.1
The FTP server on the WiPy doesn't support active mode, only passive,
so for instance
if using the native unix ftp client, just after logging in::
The FTP server on the WiPy doesn't support active mode, only passive,
therefore,
if using the native unix ftp client, just after logging in
do
::
ftp> passive
Besides that, the FTP server only supports on
w
data connection at a time. Check out
Besides that, the FTP server only supports on
e
data connection at a time. Check out
the Filezilla settings section below for more info.
FileZilla settings
...
...
@@ -74,16 +86,17 @@ Upgrading the firmware Over The Air
OTA software updates can be performed through the FTP server. Upload the ``mcuimg.bin`` file
to: ``/flash/sys/mcuimg.bin`` it will take around 6s. You won't see the file being stored
inside ``/flash/sys/`` because it's actually saved bypassing the user file system, but rest
assured that it was successfully transferred, and it has been signed with a MD5 checksum to
verify its integrity. Now, reset the MCU by pressing the switch on the board, or by typing::
inside ``/flash/sys/`` because it's actually saved bypassing the user file system, so it
ends up inside the internal **hidden** file system, but rest assured that it was successfully
transferred, and it has been signed with a MD5 checksum to verify its integrity. Now, reset
the WiPy by pressing the switch on the board, or by typing::
import machine
machine.reset()
Software updates can be found in: https://github.com/wipy/wipy/releases
It's always recommended to update to the latest software, but make sure to
read the
``release notes``
before.
read the
**release notes**
before.
Boot modes
----------
...
...
docs/wipy/quickref.rst
View file @
ceb16900
...
...
@@ -88,9 +88,9 @@ See :ref:`machine.ADC <machine.ADC>`. ::
UART (serial bus)
-----------------
See :ref:`machine.
Pin <machine.Pin>` and :ref:`machine.
UART <machine.UART>`. ::
See :ref:`machine.UART <machine.UART>`. ::
from machine import
Pin,
UART
from machine import UART
uart = UART(0, baudrate=9600)
uart.write('hello')
uart.read(5) # read up to 5 bytes
...
...
@@ -100,7 +100,7 @@ SPI bus
See :ref:`machine.SPI <machine.SPI>`. ::
from machine SPI
from machine
import
SPI
# configure the SPI master @ 2MHz
spi = SPI(0, SPI.MASTER, baudrate=200000, polarity=0, phase=0)
...
...
@@ -112,9 +112,9 @@ See :ref:`machine.SPI <machine.SPI>`. ::
I2C bus
-------
See :ref:`machine.
Pin <machine.Pin>` and :ref:`machine.
I2C <machine.I2C>`. ::
See :ref:`machine.I2C <machine.I2C>`. ::
from machine import
Pin,
I2C
from machine import I2C
# configure the I2C bus
i2c = I2C(0, I2C.MASTER, baudrate=100000)
i2c.scan() # returns list of slave addresses
...
...
@@ -203,7 +203,7 @@ Telnet and FTP server
See :ref:`network.server <network.server>` ::
from network import
network
from network import
server
# init with new user, pass word and seconds timeout
server = server.init(login=('user', 'password'), timeout=60)
...
...
@@ -211,8 +211,8 @@ See :ref:`network.server <network.server>` ::
server.timeout() # get the timeout
server.isrunning() # check wether the server is running or not
Heart
B
eat LED
-------------
Heart
b
eat LED
-------------
-
See :mod:`wipy`. ::
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment