จำเป็นต้องประมวลผลข้อความ ฉันจะไม่ปฏิเสธความช่วยเหลือ :)
ไลบรารีใช้อินเทอร์เฟซอย่างง่ายสำหรับการเปลี่ยนค่าของตัวแปร ช่วยให้คุณทำงานกับหมายเลขประเภทใดก็ได้ที่ระบุไว้ในเทมเพลตนักออกแบบ ห้องสมุดอนุญาตให้คุณควบคุม:
คลาสคือเทมเพลตและใช้พารามิเตอร์ 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 )ในกรณีที่มีการเปลี่ยนแปลงจำนวนใด ๆ ขวดจะเกิดขึ้นซึ่งคุณต้องพิจารณาการกระทำที่คุณต้องการ พารามิเตอร์: ID ที่ส่ง, ค่าปัจจุบัน, จุดสิ้นสุดของการเปลี่ยนแปลงสิ้นสุด
T onConversion ( uint8_t id , T min , T max , T from , T to , T current ) หากต้องการฟังก์ชั่นที่ซับซ้อนมากขึ้นในการเปลี่ยนตัวเลขก็สามารถกำหนดได้โดยวิธี SetConversion() และประมวลผลในขวดนี้ พารามิเตอร์: ID ที่ส่ง, ค่าน้อยที่สุด, ค่าสูงสุด, ค่าเริ่มต้น, ค่าสุดท้าย, ค่าปัจจุบัน return: ฟังก์ชั่นควรส่งคืนค่าใหม่สำหรับหมายเลข
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 ของคุณมีคำจำกัดความของเวลาปัจจุบันขอแนะนำให้ผ่านเวลานี้เป็นพารามิเตอร์ พารามิเตอร์: เครื่องหมายเวลาปัจจุบัน