بطاقة SD#

مقدمة#

يتيح لك استخدام بطاقة SD مع جهاز VEX V5 تخزين الملفات والوصول إليها من خلال بطاقة SD قابلة للإزالة يتم إدخالها في فتحة بطاقة SD الخاصة بالجهاز. سواء كنت تحفظ بيانات المستشعرات أو تحمّل صورًا مخصصة، فإن هذه الطرق توفر لك تحكمًا كاملًا في عمليات الملفات. كما تتيح لك بطاقة SD القابلة للإزالة نقل البيانات بسهولة بين جهازك وجهاز الكمبيوتر.

يتطلب جهاز V5 Brain بطاقة ذاكرة SD لا تتجاوز سعتها 32 جيجابايت، مهيأة بنظام FAT32. أما بطاقات الذاكرة التي تزيد سعتها عن 32 جيجابايت فتستخدم نظام exFAT افتراضيًا، وهو غير متوافق مع جهاز V5 Brain. تأكد من تهيئة بطاقة الذاكرة SD بنظام FAT32 قبل الاستخدام.

يجب وضع جميع الملفات في المجلد الرئيسي لبطاقة الذاكرة الخارجية (SD) حتى يمكن الوصول إليها.

بالنسبة للأمثلة أدناه، يتضمن الدماغ المُنشأ إمكانية الوصول إلى طرق بطاقة SD وسيتم استخدامه في جميع الأمثلة اللاحقة في جميع أنحاء وثائق API هذه عند الإشارة إلى تلك الطرق.

فيما يلي قائمة بجميع الطرق:

الإجراءات – تنفيذ عمليات الملفات وعرض الصور من بطاقة الذاكرة الخارجية (SD).

  • loadfile – تحميل ملف من بطاقة SD إلى مصفوفة بايت.

  • savefile – يحفظ مصفوفة بايت على بطاقة SD.

  • appendfile – يقوم بإلحاق مصفوفة بايت بملف موجود.

  • draw_image_from_file – يعرض صورة نقطية من بطاقة SD.

المُسترجعون – إعادة بطاقة الذاكرة ومعلومات الملف.

  • is_inserted – تُرجع قيمة منطقية تشير إلى ما إذا كانت بطاقة SD قد تم إدخالها في وحدة المعالجة المركزية.

  • filesize – تُرجع حجم الملف بالبايت.

  • size – تُرجع حجم الملف بالبايت.

  • exists – تُرجع قيمة منطقية تشير إلى ما إذا كان الملف موجودًا على بطاقة SD.

للحصول على معلومات حول إنشاء دماغ للوصول إلى طرق sdcard ، انظر Brain.

الإجراءات#

loadfile#

loadfile يقوم بتحميل ملف من بطاقة SD إلى مصفوفة بايت.

Usage:
brain.sdcard.loadfile(filename, buffer)

حدود

وصف

filename

اسم الملف المراد تحميله كسلسلة نصية. يجب أن يتضمن اسم الملف امتداد الملف.

buffer

اختياري. مصفوفة بايتات موجودة لتحميل محتوى الملف إليها. إذا كانت مصفوفة البايتات الموجودة أكبر، فسيتم استبدال محتوياتها. أما إذا كانت أصغر، فقد لا يتم تحميل جميع البيانات. افتراضيًا، سيتم إرجاع مصفوفة بايتات جديدة في حال عدم توفير مخزن مؤقت.

# Check for SD card and show a file's text
if brain.sdcard.is_inserted():
    # Save new text to a file
    brain.sdcard.savefile("Note.txt", bytearray("VEX"))
    # Load the file and print it
    data = brain.sdcard.loadfile("Note.txt")
    brain.screen.print(data.decode("utf-8"))
else:
    brain.screen.print("Insert SD card")

savefile#

savefile يحفظ مصفوفة بايتات على بطاقة SD.

Usage:
brain.sdcard.savefile(filename, buffer)

حدود

وصف

filename

اسم الملف المراد حفظه كنص. يجب أن يتضمن اسم الملف امتداده. إذا كان الملف موجودًا بالفعل، فسيتم استبداله. أما إذا لم يكن موجودًا، فسيتم إنشاء ملف جديد.

buffer

اختياري. مصفوفة بايتات للكتابة في الملف.

# Check for SD card and show a file's text
if brain.sdcard.is_inserted():
    # Save new text to a file
    brain.sdcard.savefile("Note.txt", bytearray("VEX"))
    # Load the file and print it
    data = brain.sdcard.loadfile("Note.txt")
    brain.screen.print(data.decode("utf-8"))
else:
    brain.screen.print("Insert SD card")

appendfile#

appendfile يقوم بإلحاق مصفوفة بايت بملف موجود، مما يضيف بيانات جديدة إلى نهاية الملف دون تغيير المحتويات الحالية.

Usage:
brain.sdcard.appendfile(filename, buffer)

حدود

وصف

filename

اسم الملف المراد إضافته كسلسلة نصية. يجب أن يتضمن اسم الملف امتداد الملف.

buffer

مصفوفة بايت تحتوي على البيانات المراد إضافتها.

# Add more text and display file size
if brain.sdcard.exists("Note.txt"):
    brain.sdcard.appendfile("Note.txt", bytearray("code"))
    size = brain.sdcard.size("Note.txt")
    brain.screen.print("Size: ")
    brain.screen.print(size)

draw_image_from_file#

draw_image_from_file يعرض صورة نقطية (BMP) مخزنة على بطاقة SD.

تقتصر ملفات .bmp على 5120 بكسل وحجم 6 كيلوبايت.

ملاحظة: يدعم معالج V5 Brain عرض ملفات .bmp فقط. يُنصح باستخدام ترميز RLE ذي 8 بت لتقليل حجم الملف.

Usage
brain.screen.draw_image_from_file(filename, x, y)

حدود

وصف

filename

اسم ملف الصورة.

x

إحداثي س للزاوية العلوية اليسرى للصورة على الشاشة.

y

إحداثيات y للزاوية العلوية اليسرى للصورة على الشاشة.

# Draw a bmp file on the Brain's screen at coordinate 0, 0
brain.screen.draw_image_from_file('test_image.bmp', 0, 0)

المحصلون#

is_inserted#

is_inserted تُرجع قيمة منطقية تشير إلى ما إذا كانت بطاقة SD مُدرجة حاليًا في وحدة المعالجة المركزية.

  • True - يحتوي الدماغ على بطاقة SD مُدخلة.

  • False - لا يحتوي الدماغ على بطاقة SD مُدخلة.

Usage:
brain.sdcard.is_inserted()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

# Check for SD card and show a file's text
if brain.sdcard.is_inserted():
    # Save new text to a file
    brain.sdcard.savefile("Note.txt", bytearray("VEX"))
    # Load the file and print it
    data = brain.sdcard.loadfile("Note.txt")
    brain.screen.print(data.decode("utf-8"))
else:
    brain.screen.print("Insert SD card")

filesize#

filesize تُرجع حجم الملف بالبايت.

Usage:
brain.sdcard.filesize(filename)

حدود

وصف

filename

اسم الملف كسلسلة نصية. يجب أن يتضمن اسم الملف امتداد الملف.

# Add more text and display file size
if brain.sdcard.exists("Note.txt"):
    brain.sdcard.appendfile("Note.txt", bytearray("code"))
    size = brain.sdcard.filesize("Note.txt")
    brain.screen.print("Size: ")
    brain.screen.print(size)

size#

size تُرجع حجم الملف بالبايت.

Usage:
brain.sdcard.size(filename)

حدود

وصف

filename

اسم الملف كسلسلة نصية. يجب أن يتضمن اسم الملف امتداد الملف.

# Add more text and display file size
if brain.sdcard.exists("Note.txt"):
    brain.sdcard.appendfile("Note.txt", bytearray("code"))
    size = brain.sdcard.size("Note.txt")
    brain.screen.print("Size: ")
    brain.screen.print(size)

exists#

exists يُرجع قيمة منطقية تشير إلى ما إذا كان الملف موجودًا على بطاقة SD.

  • True - الملف موجود على بطاقة الذاكرة الخارجية (SD).

  • False - الملف غير موجود على بطاقة الذاكرة.

Usage:
brain.sdcard.exists(filename)

حدود

وصف

filename

اسم الملف كسلسلة نصية. يجب أن يتضمن اسم الملف امتداد الملف.

# Add more text and display file size
if brain.sdcard.exists("Note.txt"):
    brain.sdcard.appendfile("Note.txt", bytearray(" World"))
    size = brain.sdcard.size("Note.txt")
    brain.screen.print("Size: ")
    brain.screen.print(size)