From fd860dc552b2ec53df8c6ce7e1245206719d469b Mon Sep 17 00:00:00 2001
From: Damien George
Date: Thu, 15 Jun 2017 17:34:51 +1000
Subject: stmhal: Add .value() method to Switch object, to mirror Pin and
Signal.
---
docs/pyboard/tutorial/switch.rst | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
(limited to 'docs/pyboard/tutorial')
diff --git a/docs/pyboard/tutorial/switch.rst b/docs/pyboard/tutorial/switch.rst
index 945e89aa0..91683fba4 100644
--- a/docs/pyboard/tutorial/switch.rst
+++ b/docs/pyboard/tutorial/switch.rst
@@ -15,12 +15,18 @@ the name ``pyb`` does not exist.
With the switch object you can get its status::
- >>> sw()
+ >>> sw.value()
False
This will print ``False`` if the switch is not held, or ``True`` if it is held.
Try holding the USR switch down while running the above command.
+There is also a shorthand notation to get the switch status, by "calling" the
+switch object::
+
+ >>> sw()
+ False
+
Switch callbacks
----------------
--
cgit v1.2.3
From 4f23c5d58738cd443d43b8e01cbd2a90ae6a8c9d Mon Sep 17 00:00:00 2001
From: Paul Sokolovsky
Date: Fri, 30 Jun 2017 22:24:01 +0300
Subject: docs/pyboard: Move hardware info into General Info chapter.
This makes top-level ToC of the pyboard docs consistent with other ports
(consisting of 3 chapters: QuickRef, General Info, and Tutorial).
Also, some other minor tweaks applied, like local ToC for General Info and
headings mentioning pyboard.
---
docs/pyboard/general.rst | 3 +++
docs/pyboard/hardware/index.rst | 6 +++---
docs/pyboard/tutorial/index.rst | 4 ++--
docs/pyboard_index.rst | 1 -
docs/templates/topindex.html | 4 ----
5 files changed, 8 insertions(+), 10 deletions(-)
(limited to 'docs/pyboard/tutorial')
diff --git a/docs/pyboard/general.rst b/docs/pyboard/general.rst
index 1d040f6cc..8cb801f4d 100644
--- a/docs/pyboard/general.rst
+++ b/docs/pyboard/general.rst
@@ -1,6 +1,8 @@
General information about the pyboard
=====================================
+.. contents::
+
Local filesystem and SD card
----------------------------
@@ -67,3 +69,4 @@ There are currently 2 kinds of errors that you might see:
2. If all 4 LEDs cycle on and off slowly, then there was a hard fault.
This cannot be recovered from and you need to do a hard reset.
+.. include:: hardware/index.rst
diff --git a/docs/pyboard/hardware/index.rst b/docs/pyboard/hardware/index.rst
index bc4726ce2..91fea24e7 100644
--- a/docs/pyboard/hardware/index.rst
+++ b/docs/pyboard/hardware/index.rst
@@ -1,7 +1,7 @@
.. _hardware_index:
The pyboard hardware
-====================
+--------------------
For the pyboard:
@@ -16,14 +16,14 @@ For the official skin modules:
* LCD160CRv1.0: see :mod:`lcd160cr`
Datasheets for the components on the pyboard
-============================================
+--------------------------------------------
* The microcontroller: `STM32F405RGT6 `_ (link to manufacturer's site)
* The accelerometer: `Freescale MMA7660 `_ (800kiB PDF)
* The LDO voltage regulator: `Microchip MCP1802 `_ (400kiB PDF)
Datasheets for other components
-===============================
+-------------------------------
* The LCD display on the LCD touch-sensor skin: `Newhaven Display NHD-C12832A1Z-FSW-FBW-3V3 `_ (460KiB PDF)
* The touch sensor chip on the LCD touch-sensor skin: `Freescale MPR121 `_ (280KiB PDF)
diff --git a/docs/pyboard/tutorial/index.rst b/docs/pyboard/tutorial/index.rst
index 07f136c9b..1dc155f14 100644
--- a/docs/pyboard/tutorial/index.rst
+++ b/docs/pyboard/tutorial/index.rst
@@ -1,7 +1,7 @@
.. _tutorial-index:
-MicroPython tutorial
-====================
+MicroPython tutorial for the pyboard
+====================================
This tutorial is intended to get you started with your pyboard.
All you need is a pyboard and a micro-USB cable to connect it to
diff --git a/docs/pyboard_index.rst b/docs/pyboard_index.rst
index 9d8f783de..2255a7560 100644
--- a/docs/pyboard_index.rst
+++ b/docs/pyboard_index.rst
@@ -6,7 +6,6 @@ MicroPython documentation and references
pyboard/quickref.rst
pyboard/general.rst
pyboard/tutorial/index.rst
- pyboard/hardware/index.rst
library/index.rst
reference/index.rst
genrst/index.rst
diff --git a/docs/templates/topindex.html b/docs/templates/topindex.html
index 3a9269eb1..84f3a3aec 100644
--- a/docs/templates/topindex.html
+++ b/docs/templates/topindex.html
@@ -58,10 +58,6 @@
information about MicroPython specific language features
{% if port == "pyboard" %}
-
- The {{ port }} hardware
- schematics, dimensions and component datasheets
-
Guide for {{ port_name }} on Windows (PDF)
including DFU programming
--
cgit v1.2.3
From 8c9e22c12740477035bd5d78e43beeb6df598588 Mon Sep 17 00:00:00 2001
From: Piotr MaliĆski
Date: Wed, 19 Jul 2017 09:44:44 +0200
Subject: docs/pyboard/tutorial/amp_skin: Add example for playing large WAV
files.
---
docs/pyboard/tutorial/amp_skin.rst | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
(limited to 'docs/pyboard/tutorial')
diff --git a/docs/pyboard/tutorial/amp_skin.rst b/docs/pyboard/tutorial/amp_skin.rst
index 64f139bb7..697637f9d 100644
--- a/docs/pyboard/tutorial/amp_skin.rst
+++ b/docs/pyboard/tutorial/amp_skin.rst
@@ -69,4 +69,30 @@ Then you can do::
>>> f = wave.open('test.wav')
>>> dac.write_timed(f.readframes(f.getnframes()), f.getframerate())
-This should play the WAV file.
+This should play the WAV file. Note that this will read the whole file into RAM
+so it has to be small enough to fit in it.
+
+To play larger wave files you will have to use the micro-SD card to store it.
+Also the file must be read and sent to the DAC in small chunks that will fit
+the RAM limit of the microcontroller. Here is an example function that can
+play 8-bit wave files with up to 16kHz sampling::
+
+ import wave
+ from pyb import DAC
+ from pyb import delay
+ dac = DAC(1)
+
+ def play(filename):
+ f = wave.open(filename, 'r')
+ total_frames = f.getnframes()
+ framerate = f.getframerate()
+
+ for position in range(0, total_frames, framerate):
+ f.setpos(position)
+ dac.write_timed(f.readframes(framerate), framerate)
+ delay(1000)
+
+This function reads one second worth of data and sends it to DAC. It then waits
+one second and moves the file cursor to the new position to read the next second
+of data in the next iteration of the for-loop. It plays one second of audio at
+a time every one second.
--
cgit v1.2.3