Diperlukan untuk memproses teks. Saya tidak akan menolak bantuan :)
Perpustakaan mengimplementasikan antarmuka sederhana untuk mengubah nilai variabel. Memungkinkan Anda untuk bekerja dengan semua jenis nomor yang ditunjukkan dalam templat desainer. Perpustakaan memungkinkan Anda untuk mengontrol:
Kelasnya adalah templat dan menggunakan 2 parameter: typename T, uint8_t _id = 0 . Parameter pertama menunjukkan jenis variabel yang kami kerjakan. Misalnya, uint16_t . Parameter non -kompulsi kedua secara transparan menyampaikan nilai uint8_t ke labu yang disebut, yang memungkinkan Anda untuk mengidentifikasi angka saat menggunakan beberapa salinan kelas per satu labu. Misalnya, transfer nomor PIN:
CrossInteger < uint8_t , 3 > ColorR ;
CrossInteger < uint8_t , 5 > ColorG ;
CrossInteger < uint8_t , 6 > ColorB ;
//...
ColorR . SetCallback ( OnFading );
ColorG . SetCallback ( OnFading );
ColorB . SetCallback ( OnFading );
//...
void OnFading ( uint8_t id , uint8_t value , bool complete )
{
analogWrite ( id , value );
}Untuk kenyamanan, kelas memiliki dua desainer.
CrossInteger (); Perancang kelas tanpa parameter. Saat digunakan, diperlukan untuk menyampaikan pengaturan melalui metode Set .
CrossInteger ( callback_t callback , T val , T min , T max , T step , uint32_t interval );Perancang kelas yang menunjukkan semua pengaturan. Parameter: Kolbeck, nilai saat ini dari angka, nilai minimum angka, nilai maksimum angka, langkah mengubah angka, interval pembaruan angka.
void onFading ( uint8_t id , T value , bool complete )Jika ada perubahan dalam nomor tersebut, labu disebabkan di mana Anda harus menentukan tindakan yang Anda butuhkan. Parameter: ID yang ditransmisikan, nilai saat ini, akhir perubahan akhir.
T onConversion ( uint8_t id , T min , T max , T from , T to , T current ) Jika fungsi yang lebih kompleks untuk mengubah angka diperlukan, maka dapat ditentukan dengan metode SetConversion() , dan diproses dalam labu ini. Parameter: ID yang ditransmisikan, nilai minimal, nilai maksimum, nilai awal, nilai akhir, nilai saat ini. Return: Fungsi harus mengembalikan nilai baru untuk nomor tersebut.
void SetCallback ( callback_t callback )Metode ini menunjukkan Kolek, yang akan dipanggil dengan perubahan nomor apa pun. Penting untuk dicatat bahwa jika angka berubah itu sendiri, maka fungsi fungsi tidak akan terjadi.
void SetConversion ( conversion_t conversion )Metode ini menunjukkan labu yang dapat direduksi menjadi perubahan linier dalam angka.
void SetVal ( T val )Metode menetapkan nilai angka. Parameter: Nilai angka.
void SetMin ( T min )Metode ini menetapkan nilai minimum angka. Parameter: Nilai angka.
void SetMax ( T max )Metode ini menetapkan nilai maksimum angka. Parameter: Nilai angka.
void SetStep ( T step )Metode ini menetapkan ukuran perubahan angka. Parameter: Nilai angka.
void SetInterval ( uint32_t interval )Metode ini menetapkan interval untuk perubahan angka. Parameter: Nilai angka.
void GoMin ()Metode ini langsung mengubah angka menjadi minimum.
void GoMax ()Metode ini langsung mengubah angka menjadi maksimum.
void GoCenter ()Metode ini langsung mengubah angka ke aritmatika rata -rata, dengan pembulatan ke arah yang lebih kecil.
void FadeTo ( T val_to )Metode ini dengan lancar mengubah angka ke yang ditentukan. Parameter: Nilai angka.
void FadeMin ()Metode ini dengan lancar mengubah angka ke minimum.
void FadeMax ()Metode ini dengan lancar mengubah angka menjadi maksimal.
void FadeCenter ()Metode ini dengan lancar mengubah angka ke aritmatika rata -rata, dengan pembulatan dengan cara yang lebih kecil.
T GetVal ()Metode ini mengembalikan nilai saat ini dari angka.
void GetCallback ()Metode ini secara paksa menyebabkan labu.
void Processing ( uint32_t currentTime = millis ()) Metode pemrosesan angka. Jika loop Anda memiliki definisi waktu saat ini, lebih disarankan untuk melewati waktu ini sebagai parameter. Parameter: tanda waktu saat ini.