esp
--- ESP8266 と ESP32 に関連する関数¶
esp
モジュールは、ESP8266 と ESP32 の両方のモジュールに関連する固有の機能を提供します。一部の機能はこれらのポートのどちらか一方でしか使えません。
関数¶
-
esp.
sleep_type
([sleep_type])¶ 注記: ESP8266 のみ
スリープのタイプを取得/設定します。
sleep_type にパラメータが与えた場合、スリープのタイプをその値にを設定します。この関数がパラメータなしで呼び出された場合は、現在のスリープのタイプを返します。
指定可能なスリープのタイプは定数として定義されています:
SLEEP_NONE
-- すべての機能が有効SLEEP_MODEM
-- モデムのスリープ、WiFi モデム回線をシャットダウンSLEEP_LIGHT
-- 軽量スリープ、WiFi モデム回路をシャットダウンし、プロセッサを定期的に停止
可能であれば、システムは自動的に設定されたスリープモードに入ります。
-
esp.
deepsleep
(time_us=0, /)¶ 注記: ESP8266 のみ - ESP32 では machine.deepsleep() を使用
ディープスリープに入ります。
RTC クロック回路を除いてモジュール全体がパワーダウンします。RTC クロック回路は、ピン16がリセットピンに接続されている場合、指定時間後にモジュールを再起動するのに使えます。それ以外の場合、モジュールは手動でリセットされるまでスリープします。
-
esp.
flash_id
()¶ 注記: ESP8266 のみ
フラッシュメモリのデバイスIDを取得します。
-
esp.
flash_size
()¶ フラッシュメモリの合計サイズを取得します。
-
esp.
flash_user_start
()¶ ユーザフラッシュスペースが始まるメモリオフセットを取得します。
-
esp.
flash_read
(byte_offset, length_or_buffer)¶
-
esp.
flash_write
(byte_offset, bytes)¶
-
esp.
flash_erase
(sector_no)¶
-
esp.
osdebug
(level)¶ esp os デバッグメッセージのON/OFFを設定します。
level パラメータは、すべての esp コンポーネントのログメッセージのための閾値を設定します。ログレベルは、定数として定義されています:
LOG_NONE
-- ログを出力しないLOG_ERROR
-- 重大なエラー、ソフトウェアモジュールが自力で回復できない場合LOG_WARN
-- 回復措置がとられたエラー状態LOG_INFO
-- 正常なイベントの流れを記述する情報メッセージLOG_DEBUG
-- 通常の利用には必要のない余分な情報(値、ポインタ、サイズなど)LOG_VERBOSE
-- デバッグ情報の大きな塊、あるいは出力があふれる可能性のあるメッセージを頻繁に出力
-
esp.
set_native_code_location
(start, length)¶ 注記: ESP8266 のみ
ネイティブコードがコンパイルされた後に実行のために配置される場所を設定します。
@micropython.native
,@micropython.viper
,@micropython.asm_xtensa
デコレータが関数に適用されると、ネイティブコードが生成されます。ESP8266は iRAM または(メモリマップされている)フラッシュの下位 1MB のいずれかからコードを実行する必要があり、この関数はその位置を制御します。start と length がどちらも
None
であった場合、ネイティブコード位置は iRAM1 領域の最後にあるメモリの未使用部分に設定されます。この未使用部分のサイズはファームウェアによって異なり、通常は非常に小さく(約500バイト)、非常に小さな関数を格納するのに使います。この iRAM1 領域を使用する利点は書き込んでもメモリの寿命が縮まないことです。start と length のどちらも
None
でない場合はどrちらも整数でなければならず、 start はネイティブコードを格納するフラッシュの先頭からのバイトオフセットを指定する必要があります。 length はネイティブコードを格納するために最初から何バイトのフラッシュを使用できるかを指定します。 start と length は、セクタサイズの倍数(4096バイト)にしてください。フラッシュする前にフラッシュは自動的に消去されるので、他(たとえばファームウェアやファイルシステム)では使用されないフラッシュの領域を使うようにしてください。フラッシュを使用してネイティブコードを格納する場合、 start+length は1MB以下でなければなりません。繰り返し消去(および書き込み)を行うとフラッシュは寿命を縮めていくので、この機能は控えめに使ってください。特に、ネイティブコードは起動ごとに再コンパイルしてフラッシュに書き換える必要があります(スリープ解除からの起動の場合も含みます)。
上記のどちらの場合も、iRAM1 またはフラッシュを使って指定領域に空きがなくなった後、関数にネイティブデコレータを使うとその関数のコンパイル中に MemoryError 例外が発生します。