pico uSDX FFT その23 Arduino IDEの設定 [pico uSDX]
pico uSDX FFTのグループメールを見ていても、ファームウエアの書き込みでエラーになるという記述があります。
スケッチのコメントにも書かれていることですが、私も最初は少し手間取ったり、先日はボードをバージョンアプして慌てたりしたので、忘備録として手順を残しておきます。
Arduino IDEのバージョンは、Arduino1.8.19
ボードの追加:
ツールメニューのボード>ボードマネージャを選択。検索フィルターにpicoと入れる。
「Arduino Mbed OS RP2040 Boards」をインストールする。
コンパイル書込みにはこのボードを使う。
ライブラリーのインストールは以下の4つ:
ADC-master
https://github.com/pedvide/ADC
kissfft-master
https://github.com/mborgerding/kissfft
TFT_eSPI-master
https://github.com/Bodmer/TFT_eSPI
PWM-master
https://github.com/terryjmyers/PWM
ヘッダーファイルの書き換え:
ライブラリーファイルの場所は、Windowsの場合は「ファイル」メニューの「環境設定」スケッチブックの保存場所:にあります。
MacOSは、Arduinoのメニュー、Preferencesのスケッチブックの保存場所:にあります。
直接ワイル名で検索してもいいです!
----------------------------------------------------
TFT_eSPI LIBRARY:
Arduino/libraries/TFT_eSPI/User_Setup_Select.h
コメントにする:
//#include <User_Setup.h> // Default setup is root library folder
コメントは外す:
#include <User_Setups/Setup60_RP2040_ILI9341.h> // Setup file for RP2040 with SPI ILI9341
----------------------------------------------------
User_Setups/Setup60_RP2040_ILI9341.h
コメントを外す:
#define ILI9341_DRIVER
#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue
PI pins (SPI1)の選択:
// For the Pico use these #define lines
#define TFT_SPI_PORT 1 // 0=SPI 1=SPI1
#define TFT_MISO 12 //0 RX
#define TFT_MOSI 11 //3 TX
#define TFT_SCLK 10 //2
#define TFT_CS 13 //20 // Chip select control pin
#define TFT_DC 4 //18 // Data Command control pin
#define TFT_RST 5 //19 // Reset pin (could connect to Arduino RESET pin)
//#define TFT_BL // LED back-light
//#define TOUCH_CS 21 // Chip select pin (T_CS) of touch screen
フォントを使用可能にする:
#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-.
#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT
#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts
// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loade
// this will save ~20kbytes of FLASH
#define SMOOTH_FONT
--------------------------------------------------------------
ILI9341の画面を90度回転する:
ILI9341 + RP2040の場合変更する:
TFT_eSPI/TFT_Drivers/ILI9341_Defines.h
#define TFT_WIDTH 320 //240
#define TFT_HEIGHT 240 //320
--------------------------------------------------------------
pins_arduino.h の変更:
.arduino15/packages/arduino/hardware/mbed_rp2040/3.0.1/variants/RASPBERRY_PI_PICO
I2C0用のピンを変更し、I2C1用のピンを含める:
// Wire
#define PIN_WIRE_SDA (16u) //I2C0
#define PIN_WIRE_SCL (17u) //I2C0
#define PIN_WIRE_SDA1 (18u) //included I2C1
#define PIN_WIRE_SCL1 (19u) //included I2C1
#define WIRE_HOWMANY (2) //included I2C1 default was 1
#define I2C_SDA (digitalPinToPinName(PIN_WIRE_SDA)) //I2C0
#define I2C_SCL (digitalPinToPinName(PIN_WIRE_SCL)) //I2C0
#define I2C_SDA1 (digitalPinToPinName(PIN_WIRE_SDA1)) //included I2C1
#define I2C_SCL1 (digitalPinToPinName(PIN_WIRE_SCL1)) //included I2C1
--------------------------------------------------------------
pins_arduino.hの場所が分かりにくいのでもう少し詳しく:
Windowsの場合は以下のところに
C:\Users\user_name\AppData\Local\Arduino15\packages\arduino\hardware\mbed_rp2040
\3.0.1\variants\RASPBERRY_PI_PICO
MacOSの場合は
Finderのメニューで「移動」をクリック。「option」キーを押したままにする。メニューにライブラリの行が表示されるので、それをクリックする。
ライブラリフォルダ内で、ArduinoArduino15を開き、そこからarduino >hardware >mbed_rp2040 >3.1.1 >variants >RASPBERRY_PI_PICOにあります!
階層がとても深い!!
長くなってしまいましたが、参考になれば!
スケッチのコメントにも書かれていることですが、私も最初は少し手間取ったり、先日はボードをバージョンアプして慌てたりしたので、忘備録として手順を残しておきます。
Arduino IDEのバージョンは、Arduino1.8.19
ボードの追加:
ツールメニューのボード>ボードマネージャを選択。検索フィルターにpicoと入れる。
「Arduino Mbed OS RP2040 Boards」をインストールする。
コンパイル書込みにはこのボードを使う。
ライブラリーのインストールは以下の4つ:
ADC-master
https://github.com/pedvide/ADC
kissfft-master
https://github.com/mborgerding/kissfft
TFT_eSPI-master
https://github.com/Bodmer/TFT_eSPI
PWM-master
https://github.com/terryjmyers/PWM
ヘッダーファイルの書き換え:
ライブラリーファイルの場所は、Windowsの場合は「ファイル」メニューの「環境設定」スケッチブックの保存場所:にあります。
MacOSは、Arduinoのメニュー、Preferencesのスケッチブックの保存場所:にあります。
直接ワイル名で検索してもいいです!
----------------------------------------------------
TFT_eSPI LIBRARY:
Arduino/libraries/TFT_eSPI/User_Setup_Select.h
コメントにする:
//#include <User_Setup.h> // Default setup is root library folder
コメントは外す:
#include <User_Setups/Setup60_RP2040_ILI9341.h> // Setup file for RP2040 with SPI ILI9341
----------------------------------------------------
User_Setups/Setup60_RP2040_ILI9341.h
コメントを外す:
#define ILI9341_DRIVER
#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue
PI pins (SPI1)の選択:
// For the Pico use these #define lines
#define TFT_SPI_PORT 1 // 0=SPI 1=SPI1
#define TFT_MISO 12 //0 RX
#define TFT_MOSI 11 //3 TX
#define TFT_SCLK 10 //2
#define TFT_CS 13 //20 // Chip select control pin
#define TFT_DC 4 //18 // Data Command control pin
#define TFT_RST 5 //19 // Reset pin (could connect to Arduino RESET pin)
//#define TFT_BL // LED back-light
//#define TOUCH_CS 21 // Chip select pin (T_CS) of touch screen
フォントを使用可能にする:
#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-.
#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT
#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts
// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loade
// this will save ~20kbytes of FLASH
#define SMOOTH_FONT
--------------------------------------------------------------
ILI9341の画面を90度回転する:
ILI9341 + RP2040の場合変更する:
TFT_eSPI/TFT_Drivers/ILI9341_Defines.h
#define TFT_WIDTH 320 //240
#define TFT_HEIGHT 240 //320
--------------------------------------------------------------
pins_arduino.h の変更:
.arduino15/packages/arduino/hardware/mbed_rp2040/3.0.1/variants/RASPBERRY_PI_PICO
I2C0用のピンを変更し、I2C1用のピンを含める:
// Wire
#define PIN_WIRE_SDA (16u) //I2C0
#define PIN_WIRE_SCL (17u) //I2C0
#define PIN_WIRE_SDA1 (18u) //included I2C1
#define PIN_WIRE_SCL1 (19u) //included I2C1
#define WIRE_HOWMANY (2) //included I2C1 default was 1
#define I2C_SDA (digitalPinToPinName(PIN_WIRE_SDA)) //I2C0
#define I2C_SCL (digitalPinToPinName(PIN_WIRE_SCL)) //I2C0
#define I2C_SDA1 (digitalPinToPinName(PIN_WIRE_SDA1)) //included I2C1
#define I2C_SCL1 (digitalPinToPinName(PIN_WIRE_SCL1)) //included I2C1
--------------------------------------------------------------
pins_arduino.hの場所が分かりにくいのでもう少し詳しく:
Windowsの場合は以下のところに
C:\Users\user_name\AppData\Local\Arduino15\packages\arduino\hardware\mbed_rp2040
\3.0.1\variants\RASPBERRY_PI_PICO
MacOSの場合は
Finderのメニューで「移動」をクリック。「option」キーを押したままにする。メニューにライブラリの行が表示されるので、それをクリックする。
ライブラリフォルダ内で、ArduinoArduino15を開き、そこからarduino >hardware >mbed_rp2040 >3.1.1 >variants >RASPBERRY_PI_PICOにあります!
階層がとても深い!!
長くなってしまいましたが、参考になれば!
pico uSDX FFT その22 ファームウエアのバージョンアップ [pico uSDX]
久しぶりでpicoをいじっています。
ファームウエアをバージョンアップしました。Arduino IDEで書き込んでいますが、うっかりとボードをバージョンアップして書き込み、画面真っ白て慌ててしまいました。
mbed_rp2040を3.2にして、pins_arduino.hが元に戻ってしまいました。書き直してコンパイル。無事に書き込みできました。
ファームウエアのダウンロードはこちらから。
https://github.com/kaefe64/Arduino_uSDX_Pico_FFT_Proj
新しいファームウエアはCWが追加されました。これまではメニューにあっただけで機能しませんでした。
まだ、RF部分をどうするか決めていません。
再生できない場合、ダウンロードは🎥こちら
新たに、picoのPWMを使ってSi5351の代わりをさせてみようと実験を始めました。
まだ、周波数のコントロール(正確に100Hz単位)と位相制御がうまくいっていません。システムクロックを基準にしているので、50MHzでも使えるはず。
ですが… できるのかな?
勉強しながら楽しみたいと思っています。
ファームウエアをバージョンアップしました。Arduino IDEで書き込んでいますが、うっかりとボードをバージョンアップして書き込み、画面真っ白て慌ててしまいました。
mbed_rp2040を3.2にして、pins_arduino.hが元に戻ってしまいました。書き直してコンパイル。無事に書き込みできました。
ファームウエアのダウンロードはこちらから。
https://github.com/kaefe64/Arduino_uSDX_Pico_FFT_Proj
新しいファームウエアはCWが追加されました。これまではメニューにあっただけで機能しませんでした。
まだ、RF部分をどうするか決めていません。
再生できない場合、ダウンロードは🎥こちら
新たに、picoのPWMを使ってSi5351の代わりをさせてみようと実験を始めました。
まだ、周波数のコントロール(正確に100Hz単位)と位相制御がうまくいっていません。システムクロックを基準にしているので、50MHzでも使えるはず。
ですが… できるのかな?
勉強しながら楽しみたいと思っています。
pico uSDX FFT その20 TXミキサができた。 [pico uSDX]
uSDXとpico uSDX FFT [uSDX]
pico uSDX FFT その19 送信ミキサ回路 [pico uSDX]
やっと送信ミキサの製作に取りかかろうとしたが、コロナワクチンの4回目接種でダウン!起き上がることもできず、食事も喉を通らない。
回路図は描けたので週末に製作をする予定だったが、布団の上でゴロゴロしている。
とりあえず回路図を載せておきます。Micro SDR on a Pi-Pico Arjan氏の回路です。https://github.com/ArjanteMarvelde/uSDR-pico
回路図を修正しました!
副反応のせいか、古いファイルを載せてしまいました。
回路図は描けたので週末に製作をする予定だったが、布団の上でゴロゴロしている。
とりあえず回路図を載せておきます。Micro SDR on a Pi-Pico Arjan氏の回路です。https://github.com/ArjanteMarvelde/uSDR-pico
回路図を修正しました!
副反応のせいか、古いファイルを載せてしまいました。