قبل از شیلد های نرم افزاری من یک کلاس نوشتم که کد برنامه آردینو خودم رو به حداقل برسونم و شیلد های نرم افزاری بتونن از داخل کد خودشون به توابع اصلی بدنه برنامه (setup و loop) دسترسی پیدا کنند.
در این کتابخانه دو کلاس تعریف شده و در یک فایل با نام "softShield.h" قرار دارند در ادامه به توضیح این کلاس ها می پردازیم
کلاس softModule :
این کلاس چیزی نیست جز یک صف حلقوی که تمامی شیلد ها در این صف قرار میگیرند. این کار بدین منظور انجام می شود که توابع setup و update شیلدها در یک حلقه تکرار توسط توابع این کلاس فراخوانی شوند.
توابع setup مربوط به شیلد ها توسط تابع setup این کلاس و توابع loop شیلد ها توسط تابع loop این کلاس فراخوانی می شوند.
کلاس softShield :
تمامی شیلد های نرم افزاری که توسط من نوشته و یا ویرایش میشن از این کلاس ارث می برن.
ارث بری از این کلاس بخاطر اینه که شیلد ها به صورت خودکار به صف softModule افزوده بشن.
این کتابخانه و ارث بری از softShield باعث میشه همه شیلد های نرم افزاری برای خودشون توابع setup و loop رو داشته باشن تا از کد نویسی تکراری جلوگیری بشه.
حال ما میتونیم به این طریق توابع setup و update همه شیلد هایی که در برنامه ازشون استفاده کردیم رو فرخوانی کنیم:
کد درون setup باعث فراخوانی تابع setup همه شیلد های نرم افزاری میشه و کد درون loop باعث فراخوانی تابع update همه شیلد های نرم افزاری میشه.کد PHP:
#include <softShield.h>
void setup(){
softModule::setup();
}
void loop(){
softModule::update();
}
بهمراه این کتابخانه نمونه کدی داخل پوشه baseShield وجود دارد که ساختار کتابخانه هایی که از softShield ارث می برند را نشان میدهد.
توجه داشته باشید که داشتن این کتابخانه و افزودن این دو خط کد در توابع setup و loop از الزامات استفاده از کتابخانه هایی هست که من در این تاپیک ارسال میکنم و اگه کتابخانه ای بجز softSheild به کتابخانه ی دیگه ای نیاز داشته باشه در پست مربوطه به اون اشاره خواهد شد.
نام شیلد softSheild سایر شیلد های مورد نیاز این شیلد ندارد


1 لایک
LinkBack URL
About LinkBacks



پاسخ با نقل قول