مطلوب لمعالجة النص. لن أرفض المساعدة :)
تنفذ المكتبة واجهة بسيطة لتغيير قيمة المتغيرات. يتيح لك العمل مع أي نوع من الأرقام المشار إليها في قالب المصمم. تتيح لك المكتبة التحكم:
الفئة عبارة عن قالب ويستخدم معلمات 2: typename T, uint8_t _id = 0 . تشير المعلمة الأولى إلى نوع المتغير الذي نعمل به. على سبيل المثال ، uint16_t . تقوم المعلمة الثانية غير المشتركة بتوصيل قيمة uint8_t إلى القارورة المسمى ، والتي تتيح لك تحديد الرقم عند استخدام عدة نسخ من الفئة لكل قارورة واحدة. على سبيل المثال ، نقل رقم 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 );
}للراحة ، يحتوي الفصل على اثنين من المصممين.
CrossInteger (); مصمم فئة بدون معلمات. عند استخدامها ، يجب أن تنقل الإعدادات من خلال طرق Set .
CrossInteger ( callback_t callback , T val , T min , T max , T step , uint32_t interval );مصمم فئة يشير إلى جميع الإعدادات. المعلمات: Kolbeck ، القيمة الحالية للرقم ، الحد الأدنى لقيمة الرقم ، الحد الأقصى لقيمة الرقم ، خطوة تغيير الرقم ، فاصل تجديد الرقم.
void onFading ( uint8_t id , T value , bool complete )في حالة حدوث أي تغيير في الرقم ، يحدث القارورة التي يجب عليك تحديد الإجراءات التي تحتاجها. المعلمات: معرف نقل ، القيمة الحالية ، نهاية تغيير النهاية.
T onConversion ( uint8_t id , T min , T max , T from , T to , T current ) إذا كانت هناك حاجة إلى وظيفة أكثر تعقيدًا لتغيير الرقم ، فيمكن تحديدها بواسطة طريقة SetConversion() ، ومعالجتها في هذه القارورة. المعلمات: معرّف إرسال ، القيمة الحد الأدنى ، القيمة القصوى ، القيمة الأولية ، القيمة النهائية ، القيمة الحالية. إرجاع: يجب أن تُرجع الوظيفة قيمة جديدة للرقم.
void SetCallback ( callback_t callback )تشير الطريقة إلى kolek ، والتي سيتم استدعاؤها بأي تغيير في الرقم. من المهم أن نلاحظ أنه إذا تغير الرقم نفسه ، فلن تحدث وظيفة الوظيفة.
void SetConversion ( conversion_t conversion )تشير الطريقة إلى قارورة يمكن تقليلها إلى تغيير خطي في الرقم.
void SetVal ( T val )تحدد الطريقة قيمة الرقم. المعلمات: قيمة الرقم.
void SetMin ( T min )تحدد الطريقة الحد الأدنى لقيمة الرقم. المعلمات: قيمة الرقم.
void SetMax ( T max )تحدد الطريقة القيمة القصوى للرقم. المعلمات: قيمة الرقم.
void SetStep ( T step )تحدد الطريقة حجم التغيير في الرقم. المعلمات: قيمة الرقم.
void SetInterval ( uint32_t interval )تحدد الطريقة الفاصل الزمني للتغيير في الرقم. المعلمات: قيمة الرقم.
void GoMin ()تعمل الطريقة على الفور على تغيير الرقم إلى الحد الأدنى.
void GoMax ()تعمل الطريقة على الفور على تغيير الرقم إلى الحد الأقصى.
void GoCenter ()تعمل الطريقة على الفور على تغيير الرقم إلى الحساب المتوسط ، مع التقريب في الاتجاه الأصغر.
void FadeTo ( T val_to )تغيير الطريقة بسلاسة الرقم إلى المحدد. المعلمات: قيمة الرقم.
void FadeMin ()تعمل الطريقة بسلاسة على تغيير الرقم إلى الحد الأدنى.
void FadeMax ()تتغير الطريقة بسلاسة الرقم إلى الحد الأقصى.
void FadeCenter ()تغير الطريقة بسلاسة الرقم إلى الحساب المتوسط ، مع التقريب بالطريقة الأصغر.
T GetVal ()تقوم الطريقة بإرجاع القيمة الحالية الفورية للرقم.
void GetCallback ()الطريقة التي تسبب قارورة قارورة.
void Processing ( uint32_t currentTime = millis ()) طريقة معالجة الأرقام. في حالة وجود loop الخاصة بك للوقت الحالي ، يُنصح بتمرير هذه المرة كمعلمة. المعلمات: علامة الوقت الحالية.