Kaynağa Gözat

add docs for volume and notes consts

Oliver Fabel 1 yıl önce
ebeveyn
işleme
b45e68c340

+ 5 - 0
CHANGELOG.md

@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ## [Unreleased]
 
+### Added
+
+* Constants for all musical notes from C0 up to B8.
+* Constants for minimum and maximum speaker volumes.
+
 ### Fixed
 
 * Message box alignment parameters `h` and `v` are now correctly evaluated.

+ 1 - 1
application.fam

@@ -5,7 +5,7 @@ App(
     entry_point="upython",
     stack_size=4 * 1024,
     fap_category="Tools",
-    fap_version="1.1",
+    fap_version="1.2",
     fap_description="Compile and execute MicroPython scripts",
     fap_icon="icon.png",
     fap_icon_assets="images",

+ 117 - 0
docs/pages/reference.rst

@@ -29,6 +29,123 @@ Speaker
 
 Full control over the built-in speaker module.
 
+..
+   for octave in range(9):
+      for name in ['C', 'CS', 'D', 'DS', 'E', 'F', 'FS', 'G', 'GS', 'A', 'AS', 'B']:
+         print(f'.. autodata:: flipperzero.SPEAKER_NOTE_{name}{octave}')
+
+.. autodata:: flipperzero.SPEAKER_NOTE_C0
+.. autodata:: flipperzero.SPEAKER_NOTE_CS0
+.. autodata:: flipperzero.SPEAKER_NOTE_D0
+.. autodata:: flipperzero.SPEAKER_NOTE_DS0
+.. autodata:: flipperzero.SPEAKER_NOTE_E0
+.. autodata:: flipperzero.SPEAKER_NOTE_F0
+.. autodata:: flipperzero.SPEAKER_NOTE_FS0
+.. autodata:: flipperzero.SPEAKER_NOTE_G0
+.. autodata:: flipperzero.SPEAKER_NOTE_GS0
+.. autodata:: flipperzero.SPEAKER_NOTE_A0
+.. autodata:: flipperzero.SPEAKER_NOTE_AS0
+.. autodata:: flipperzero.SPEAKER_NOTE_B0
+.. autodata:: flipperzero.SPEAKER_NOTE_C1
+.. autodata:: flipperzero.SPEAKER_NOTE_CS1
+.. autodata:: flipperzero.SPEAKER_NOTE_D1
+.. autodata:: flipperzero.SPEAKER_NOTE_DS1
+.. autodata:: flipperzero.SPEAKER_NOTE_E1
+.. autodata:: flipperzero.SPEAKER_NOTE_F1
+.. autodata:: flipperzero.SPEAKER_NOTE_FS1
+.. autodata:: flipperzero.SPEAKER_NOTE_G1
+.. autodata:: flipperzero.SPEAKER_NOTE_GS1
+.. autodata:: flipperzero.SPEAKER_NOTE_A1
+.. autodata:: flipperzero.SPEAKER_NOTE_AS1
+.. autodata:: flipperzero.SPEAKER_NOTE_B1
+.. autodata:: flipperzero.SPEAKER_NOTE_C2
+.. autodata:: flipperzero.SPEAKER_NOTE_CS2
+.. autodata:: flipperzero.SPEAKER_NOTE_D2
+.. autodata:: flipperzero.SPEAKER_NOTE_DS2
+.. autodata:: flipperzero.SPEAKER_NOTE_E2
+.. autodata:: flipperzero.SPEAKER_NOTE_F2
+.. autodata:: flipperzero.SPEAKER_NOTE_FS2
+.. autodata:: flipperzero.SPEAKER_NOTE_G2
+.. autodata:: flipperzero.SPEAKER_NOTE_GS2
+.. autodata:: flipperzero.SPEAKER_NOTE_A2
+.. autodata:: flipperzero.SPEAKER_NOTE_AS2
+.. autodata:: flipperzero.SPEAKER_NOTE_B2
+.. autodata:: flipperzero.SPEAKER_NOTE_C3
+.. autodata:: flipperzero.SPEAKER_NOTE_CS3
+.. autodata:: flipperzero.SPEAKER_NOTE_D3
+.. autodata:: flipperzero.SPEAKER_NOTE_DS3
+.. autodata:: flipperzero.SPEAKER_NOTE_E3
+.. autodata:: flipperzero.SPEAKER_NOTE_F3
+.. autodata:: flipperzero.SPEAKER_NOTE_FS3
+.. autodata:: flipperzero.SPEAKER_NOTE_G3
+.. autodata:: flipperzero.SPEAKER_NOTE_GS3
+.. autodata:: flipperzero.SPEAKER_NOTE_A3
+.. autodata:: flipperzero.SPEAKER_NOTE_AS3
+.. autodata:: flipperzero.SPEAKER_NOTE_B3
+.. autodata:: flipperzero.SPEAKER_NOTE_C4
+.. autodata:: flipperzero.SPEAKER_NOTE_CS4
+.. autodata:: flipperzero.SPEAKER_NOTE_D4
+.. autodata:: flipperzero.SPEAKER_NOTE_DS4
+.. autodata:: flipperzero.SPEAKER_NOTE_E4
+.. autodata:: flipperzero.SPEAKER_NOTE_F4
+.. autodata:: flipperzero.SPEAKER_NOTE_FS4
+.. autodata:: flipperzero.SPEAKER_NOTE_G4
+.. autodata:: flipperzero.SPEAKER_NOTE_GS4
+.. autodata:: flipperzero.SPEAKER_NOTE_A4
+.. autodata:: flipperzero.SPEAKER_NOTE_AS4
+.. autodata:: flipperzero.SPEAKER_NOTE_B4
+.. autodata:: flipperzero.SPEAKER_NOTE_C5
+.. autodata:: flipperzero.SPEAKER_NOTE_CS5
+.. autodata:: flipperzero.SPEAKER_NOTE_D5
+.. autodata:: flipperzero.SPEAKER_NOTE_DS5
+.. autodata:: flipperzero.SPEAKER_NOTE_E5
+.. autodata:: flipperzero.SPEAKER_NOTE_F5
+.. autodata:: flipperzero.SPEAKER_NOTE_FS5
+.. autodata:: flipperzero.SPEAKER_NOTE_G5
+.. autodata:: flipperzero.SPEAKER_NOTE_GS5
+.. autodata:: flipperzero.SPEAKER_NOTE_A5
+.. autodata:: flipperzero.SPEAKER_NOTE_AS5
+.. autodata:: flipperzero.SPEAKER_NOTE_B5
+.. autodata:: flipperzero.SPEAKER_NOTE_C6
+.. autodata:: flipperzero.SPEAKER_NOTE_CS6
+.. autodata:: flipperzero.SPEAKER_NOTE_D6
+.. autodata:: flipperzero.SPEAKER_NOTE_DS6
+.. autodata:: flipperzero.SPEAKER_NOTE_E6
+.. autodata:: flipperzero.SPEAKER_NOTE_F6
+.. autodata:: flipperzero.SPEAKER_NOTE_FS6
+.. autodata:: flipperzero.SPEAKER_NOTE_G6
+.. autodata:: flipperzero.SPEAKER_NOTE_GS6
+.. autodata:: flipperzero.SPEAKER_NOTE_A6
+.. autodata:: flipperzero.SPEAKER_NOTE_AS6
+.. autodata:: flipperzero.SPEAKER_NOTE_B6
+.. autodata:: flipperzero.SPEAKER_NOTE_C7
+.. autodata:: flipperzero.SPEAKER_NOTE_CS7
+.. autodata:: flipperzero.SPEAKER_NOTE_D7
+.. autodata:: flipperzero.SPEAKER_NOTE_DS7
+.. autodata:: flipperzero.SPEAKER_NOTE_E7
+.. autodata:: flipperzero.SPEAKER_NOTE_F7
+.. autodata:: flipperzero.SPEAKER_NOTE_FS7
+.. autodata:: flipperzero.SPEAKER_NOTE_G7
+.. autodata:: flipperzero.SPEAKER_NOTE_GS7
+.. autodata:: flipperzero.SPEAKER_NOTE_A7
+.. autodata:: flipperzero.SPEAKER_NOTE_AS7
+.. autodata:: flipperzero.SPEAKER_NOTE_B7
+.. autodata:: flipperzero.SPEAKER_NOTE_C8
+.. autodata:: flipperzero.SPEAKER_NOTE_CS8
+.. autodata:: flipperzero.SPEAKER_NOTE_D8
+.. autodata:: flipperzero.SPEAKER_NOTE_DS8
+.. autodata:: flipperzero.SPEAKER_NOTE_E8
+.. autodata:: flipperzero.SPEAKER_NOTE_F8
+.. autodata:: flipperzero.SPEAKER_NOTE_FS8
+.. autodata:: flipperzero.SPEAKER_NOTE_G8
+.. autodata:: flipperzero.SPEAKER_NOTE_GS8
+.. autodata:: flipperzero.SPEAKER_NOTE_A8
+.. autodata:: flipperzero.SPEAKER_NOTE_AS8
+.. autodata:: flipperzero.SPEAKER_NOTE_B8
+
+.. autodata:: flipperzero.SPEAKER_VOLUME_MIN
+.. autodata:: flipperzero.SPEAKER_VOLUME_MAX
+
 .. autofunction:: flipperzero.speaker_start
 .. autofunction:: flipperzero.speaker_set_volume
 .. autofunction:: flipperzero.speaker_stop

+ 25 - 0
examples/flipperzero_speaker_note_test.py

@@ -0,0 +1,25 @@
+import time
+import flipperzero as f0
+
+def play_frequency(frequency: float):
+  volume = 0.8
+
+  f0.speaker_start(frequency, volume)
+
+  for _ in range(0, 150):
+    volume *= 0.9945679
+
+    f0.speaker_set_volume(volume)
+
+    time.sleep_ms(1)
+
+  f0.speaker_stop()
+
+play_frequency(f0.SPEAKER_NOTE_C5)
+play_frequency(f0.SPEAKER_NOTE_D5)
+play_frequency(f0.SPEAKER_NOTE_E5)
+play_frequency(f0.SPEAKER_NOTE_F5)
+play_frequency(f0.SPEAKER_NOTE_G5)
+play_frequency(f0.SPEAKER_NOTE_A5)
+play_frequency(f0.SPEAKER_NOTE_B5)
+play_frequency(f0.SPEAKER_NOTE_C6)

+ 791 - 2
flipperzero/_speaker.py

@@ -1,10 +1,799 @@
+'''
+Python script for notes generation
+
+# coding: utf-8
+# Python script for notes generation
+
+from typing import List
+
+note_names: List = ['C', 'CS', 'D', 'DS', 'E', 'F', 'FS', 'G', 'GS', 'A', 'AS', 'B']
+
+for octave in range(9):
+    for name in note_names:
+        print("SPEAKER_NOTE_%s%s: float" % (name, octave))
+        print('\'\'\'')
+        print('The musical note %s\\ :sub:`0` as frequency in `Hz`.\n' % (name if len(name) == 1 else (name[0]+'#')))
+        print('.. versionadded:: 1.2.0')
+        print('\'\'\'\n')
+'''
+
+SPEAKER_NOTE_C0: float
+'''
+The musical note C\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_CS0: float
+'''
+The musical note C#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_D0: float
+'''
+The musical note D\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_DS0: float
+'''
+The musical note D#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_E0: float
+'''
+The musical note E\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_F0: float
+'''
+The musical note F\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_FS0: float
+'''
+The musical note F#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_G0: float
+'''
+The musical note G\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_GS0: float
+'''
+The musical note G#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_A0: float
+'''
+The musical note A\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_AS0: float
+'''
+The musical note A#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_B0: float
+'''
+The musical note B\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_C1: float
+'''
+The musical note C\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_CS1: float
+'''
+The musical note C#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_D1: float
+'''
+The musical note D\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_DS1: float
+'''
+The musical note D#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_E1: float
+'''
+The musical note E\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_F1: float
+'''
+The musical note F\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_FS1: float
+'''
+The musical note F#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_G1: float
+'''
+The musical note G\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_GS1: float
+'''
+The musical note G#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_A1: float
+'''
+The musical note A\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_AS1: float
+'''
+The musical note A#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_B1: float
+'''
+The musical note B\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_C2: float
+'''
+The musical note C\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_CS2: float
+'''
+The musical note C#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_D2: float
+'''
+The musical note D\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_DS2: float
+'''
+The musical note D#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_E2: float
+'''
+The musical note E\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_F2: float
+'''
+The musical note F\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_FS2: float
+'''
+The musical note F#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_G2: float
+'''
+The musical note G\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_GS2: float
+'''
+The musical note G#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_A2: float
+'''
+The musical note A\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_AS2: float
+'''
+The musical note A#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_B2: float
+'''
+The musical note B\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_C3: float
+'''
+The musical note C\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_CS3: float
+'''
+The musical note C#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_D3: float
+'''
+The musical note D\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_DS3: float
+'''
+The musical note D#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_E3: float
+'''
+The musical note E\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_F3: float
+'''
+The musical note F\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_FS3: float
+'''
+The musical note F#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_G3: float
+'''
+The musical note G\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_GS3: float
+'''
+The musical note G#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_A3: float
+'''
+The musical note A\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_AS3: float
+'''
+The musical note A#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_B3: float
+'''
+The musical note B\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_C4: float
+'''
+The musical note C\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_CS4: float
+'''
+The musical note C#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_D4: float
+'''
+The musical note D\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_DS4: float
+'''
+The musical note D#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_E4: float
+'''
+The musical note E\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_F4: float
+'''
+The musical note F\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_FS4: float
+'''
+The musical note F#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_G4: float
+'''
+The musical note G\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_GS4: float
+'''
+The musical note G#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_A4: float
+'''
+The musical note A\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_AS4: float
+'''
+The musical note A#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_B4: float
+'''
+The musical note B\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_C5: float
+'''
+The musical note C\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_CS5: float
+'''
+The musical note C#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_D5: float
+'''
+The musical note D\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_DS5: float
+'''
+The musical note D#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_E5: float
+'''
+The musical note E\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_F5: float
+'''
+The musical note F\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_FS5: float
+'''
+The musical note F#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_G5: float
+'''
+The musical note G\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_GS5: float
+'''
+The musical note G#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_A5: float
+'''
+The musical note A\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_AS5: float
+'''
+The musical note A#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_B5: float
+'''
+The musical note B\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_C6: float
+'''
+The musical note C\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_CS6: float
+'''
+The musical note C#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_D6: float
+'''
+The musical note D\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_DS6: float
+'''
+The musical note D#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_E6: float
+'''
+The musical note E\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_F6: float
+'''
+The musical note F\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_FS6: float
+'''
+The musical note F#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_G6: float
+'''
+The musical note G\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_GS6: float
+'''
+The musical note G#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_A6: float
+'''
+The musical note A\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_AS6: float
+'''
+The musical note A#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_B6: float
+'''
+The musical note B\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_C7: float
+'''
+The musical note C\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_CS7: float
+'''
+The musical note C#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_D7: float
+'''
+The musical note D\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_DS7: float
+'''
+The musical note D#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_E7: float
+'''
+The musical note E\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_F7: float
+'''
+The musical note F\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_FS7: float
+'''
+The musical note F#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_G7: float
+'''
+The musical note G\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_GS7: float
+'''
+The musical note G#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_A7: float
+'''
+The musical note A\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_AS7: float
+'''
+The musical note A#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_B7: float
+'''
+The musical note B\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_C8: float
+'''
+The musical note C\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_CS8: float
+'''
+The musical note C#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_D8: float
+'''
+The musical note D\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_DS8: float
+'''
+The musical note D#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_E8: float
+'''
+The musical note E\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_F8: float
+'''
+The musical note F\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_FS8: float
+'''
+The musical note F#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_G8: float
+'''
+The musical note G\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_GS8: float
+'''
+The musical note G#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_A8: float
+'''
+The musical note A\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_AS8: float
+'''
+The musical note A#\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_NOTE_B8: float
+'''
+The musical note B\ :sub:`0` as frequency in `Hz`.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_VOLUME_MIN: float = 0.0
+'''
+The minimal volume value.
+
+.. versionadded:: 1.2.0
+'''
+
+SPEAKER_VOLUME_MAX: float = 1.0
+'''
+The maximum volume value.
+
+.. versionadded:: 1.2.0
+'''
+
 def speaker_start(frequency: float, volume: float) -> bool:
     '''
     Output a steady tone of a defined frequency and volume on the Flipper's speaker.
     This is a non-blocking operation. The tone will continue until you call :func:`speaker_stop`.
-    The ``volume`` parameter accepts values from 0.0 (silent) up to 1.0 (very loud).
+    The ``volume`` parameter accepts values from :py:const:`SPEAKER_VOLUME_MIN` (silent) up to :py:const:`SPEAKER_VOLUME_MAX` (very loud).
 
-    :param frequency: The frequency to play in `hertz <https://en.wikipedia.org/wiki/Hertz>`_.
+    :param frequency: The frequency to play in `Hz <https://en.wikipedia.org/wiki/Hertz>`_.
     :param volume: The volume to use.
     :returns: :const:`True` if the speaker was acquired.
 

+ 1 - 1
lib/micropython

@@ -1 +1 @@
-Subproject commit 9a049c1d444a4898db70edd2916df69915fb9f14
+Subproject commit 52168fc98fd2578b20fb9ed915ea0d3fa1948e20