ready KODI for android TV

first we need set KODI as Launcher for Android so we need these changes:

 

you can do this with this helper text.

MODIFY ANDROIDMANIFEST.XML.IN TO MAKE KODI DETECTED AS A LAUNCHER

Modify tools/android/packaging/xbmc/AndroidManifest.xml.in to make Kodi a launcher so that:
Launcher intent filter is added to Main activity:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
        
    <category android:name="android.intent.category.HOME" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

Splash and Main activities have android:launchMode="singleTop"
Splash and Main activities have android:documentLaunchMode="never"
Splash and Main activities have android:excludeFromRecents="true"
The developer guidelines suggest setting android:launchMode="singleTask" and androidConfusedtateNotNeeded="true" for launchers but this causes significant load times (as it starts from scratch every time you go to the home screen) and I have found no issues running with singleTop and no stateNotNeeded.

 

MODIFY XBMCAPP.CPP TO CATCH HOME BUTTON INTENT
To react to "Home button press" add handling for android.intent.action.MAIN/android.intent.category.HOME in void CXBMCApp::onNewIntent(CJNIIntent intent) (found on line 1076 in xbmc/platform/android/activity/XBMCApp.cpp):

  if(action == "android.intent.action.MAIN" && intent.hasCategory("android.intent.category.HOME"))
  {
    CApplicationMessenger::GetInstance().PostMsg(TMSG_GUI_ACTIVATE_WINDOW, WINDOW_HOME, 0, nullptr); // Sets Home window as active
  } else // below is original code
  if (!targetFile.empty() &&  (action == "android.intent.action.VIEW" || action == "android.intent.action.GET_CONTENT"))
  {
    CLog::Log(LOGDEBUG, "-- targetFile: %s", targetFile.c_str());
    ...

The above will send Kodi to Home.xml when the Home button is pressed (the key press doesn't generate a key press event, it only generates a MAIN/HOME intent). One could look at clearing the "Kodi window stack" as well (so that back button press after pressing home goes nowhere).

 

 

۰ نظر
علی فلاح

unpack amlogic image file and unpack super.img and flash

this instructions uses for unpack amlogic image file and unpack super.img file and then repack and flash on the device.

./bin/unpack  ./path/to/image.img
cd output/image
../../bin/simg2img super.PARTITION ./super.img
lpunpack ./super.img supers
cd supers
resize2fs ./system_a.img 1300M
e2fsck -E unshare_blocks ./system_a.imge2fsck -E unshare_blocks ./system_a.img
e2fsck -f ./system_a.img
mkdir sys
sudo losetup -P /dev/loop0 ./system_a.img
sudo mount /dev/loop0 ./sys -rw
cd sys
(make changes)
cd ..
sudo umount sys
resize2fs -M ./system_a.img
e2fsck -f ./system_a.img
resize2fs -M ./system_a.img
e2fsck -f ./system_a.img

lpmake \
  --metadata-size=65536 \
  --metadata-slots=3 \
  --device super:2097152000 \
  --group amlogic_dynamic_partitions_a:2086666240 \
  --group amlogic_dynamic_partitions_b:2086666240 \
  --partition system_a:readonly:1156333568:amlogic_dynamic_partitions_a \
  --image system_a=./system_a.img \
  --partition system_b:readonly:0:amlogic_dynamic_partitions_b \
  --partition vendor_a:readonly:157237248:amlogic_dynamic_partitions_a \
  --image vendor_a=./vendor_a.img \
  --partition vendor_b:readonly:0:amlogic_dynamic_partitions_b \
  --partition product_a:readonly:455888896:amlogic_dynamic_partitions_a \
  --image product_a=./product_a.img \
  --partition product_b:readonly:0:amlogic_dynamic_partitions_b \
  --partition odm_a:readonly:962560:amlogic_dynamic_partitions_a \
  --image odm_a=./odm_a.img \
  --partition odm_b:readonly:0:amlogic_dynamic_partitions_b \
  --partition system_ext_a:readonly:173031424:amlogic_dynamic_partitions_a \
  --image system_ext_a=./system_ext_a.img \
  --partition system_ext_b:readonly:0:amlogic_dynamic_partitions_b \
  --partition vendor_dlkm_a:readonly:59121664:amlogic_dynamic_partitions_a \
  --image vendor_dlkm_a=./vendor_dlkm_a.img \
  --partition vendor_dlkm_b:readonly:0:amlogic_dynamic_partitions_b \
  --partition system_dlkm_a:readonly:348160:amlogic_dynamic_partitions_a \
  --image system_dlkm_a=./system_dlkm_a.img \
  --partition system_dlkm_b:readonly:0:amlogic_dynamic_partitions_b \
  --partition odm_dlkm_a:readonly:348160:amlogic_dynamic_partitions_a \
  --image odm_dlkm_a=./odm_dlkm_a.img \
  --partition odm_dlkm_b:readonly:0:amlogic_dynamic_partitions_b \
  --sparse \
  --output ../super.PARTITION

./bin/repack ./name.img
./aml-burn-tool -b VIM4 -i /mnt/program/linux-amlogic-toolkit/name.img

 

۰ نظر
علی فلاح

flash and unpack Amlgoc image (S905Y4) in Linux OS

first, download tools from this link:

in newer version of amlogic chip, introdueced a new protocl called ADNL so you can't use old tools to burn image on newer device

./aml-burn-tool -b VIM4 -i /path/to/file.img

 

also, to unpack image fie you can use Linux Amlogic toolkit this repo on github.

 

in new version of android (from Android 10) system.img is not exist and some partition is inside of super.PARTITION so you should extract super partitino again. first you need to use simg2img to convert sparce image to raw image:

./bin/simg2img ./output/image/super.PARTITION  ./output/image/super.img

and then you can use lpunpack tool to unpack super partition:

lpunpack ./super.img supers

supers is a directory that I made.

۰ نظر
علی فلاح

mount system.img in android 10 in Read/Write mode

the error in mounting is:

couldn't mount RDWR because of unsupported optional features (4000)

according to this source; I found out that Android 10's system images are formatted with EXT4_FEATURE_RO_COMPAT_SHARED_BLOCKS. It will deduplicate blocks in the filesystem to reduce the image size. On my Pixel XL, the partition is physically not large enough to successfully run 'e2fsck -E unshare_blocks'.

so to resolve this problem you can use:

e2fsck -E unshare_blocks

but before that you should resize and increase free size of image (because its need beeger than prevois) so you can use:

resize2fs ./system_a.img 1200M

and then 

sudo losetup -P /dev/loop3 ./system_a.img
sudo mount /dev/loop3 ./system -rw

۰ نظر
علی فلاح

connect to Android ADB in virtualbox and Linux as Host

https://android.stackexchange.com/questions/50085/android-x86-virtual-box-with-internet-and-connection-to-adb

 

set NAT and then make an portforwarding roll and then use adb connect localhost:port to connect to adb of virtual machine

۰ نظر
علی فلاح

add Persian (Farsi) to hyprland

to add new layout (in this case farsi) for keyborad you can add below lines to ~/.config/hypr/hyprland.conf 

input {
 kb_layout=us,ir
# kb_options=grp:ctrl_semi_toggle
# kb_options=grp:toggle
 kb_options=grp:shifts_toggle
}

 

and also for swap workspace by swapping on touchpad you can add these lines to that file

gestures {
    workspace_swipe = true
    workspace_swipe_fingers = 3
   # workspace_swipe_invert = true
    #workspace_swipe_min_speed_to_force=5
}

 

۰ نظر
علی فلاح

Compile ELF for android with GCC for ARM compiler

first of all, you should pull some libraries from android device.

list of it:

ld-android.so  libc.so  libdl.so  libdl_android.so  liblog.so  libm.so

 

after that you can compile your program with this command:

 

arm-none-linux-gnueabihf-gcc hello.c -fPIE -pie -o hello_android_gcc2 -Wall -Wl,--dynamic-linker=/system/bin/linker -nostdlib -nodefaultlibs -L. -I. ./ld-android.so ./libdl_android.so ./libc.so ./libm.so ./libdl.so  ./libdl.so

we use dynamic-linker flag to force ELF file to use /system/bin/linker as interpreter linker because in android device the ld-linux.so is not exist.

we use -nostdlib because as default of arm-none-linux-gnueabihf-gcc compiler it use libc.so.6 that is glibc standard library that not exist on android instead of that bionic is standard c library in /system/lib/libc.so

۰ نظر
علی فلاح

Arch update signature

sudo pacman-key --refresh-keys
۰ نظر
علی فلاح

flutter for Linux Desktop

for install flutter on linux desktop on x86 you should first install last flutter framework 

۰ نظر
علی فلاح

initialize pgpool and syncs postgresql DBs

to sync 2 or more postgresql database that exist on seprate server (with specific IP) we have some way.

 

First we should tell about replication. replication uses when we want to make an backup from current exist postgresql DB. not a fix backup, an streaming replication that replicate each changes in primary DB on others backup DB.

So we can use this to make a mirror server, but what happen if we use write query (e.g. insert, update) on the secondery db (backup db)? ok we should not allow to write on db because every change on backup db cause to dismiss data because new data has been written on that when update from primary db. So what should we do? we should forward write query to primary db and after primary DB changes the replication send new data to backup DB so the user think write on the DB really worked while the write query forwarded to primary DB.

۰ نظر
علی فلاح

تجربه ی کامپایل CoreElec

به نام خدا.

سلام داستان از اونجا شروع شد که برای انجام یکی از تسک ها نیاز بود از دو دستور زیر استفاده کنم:

۰ نظر
علی فلاح

LVM

Physical Volumes (PVs): The actual disks or partitions (e.g., /dev/sda1).
Volume Groups (VGs): A pool of storage created from one or more physical volumes.
Logical Volumes (LVs): Flexible partitions created from the space in a volume group.

۰ نظر
علی فلاح

Executable and Linkable Format - ELF

به نام خدا

در این پست قصد دارم توضیحاتی در مورد فرمت ELF خدمتتون ارائه کنم.

۱ نظر
علی فلاح

How do I force Ubuntu to boot into initramfs?

Once in the boot menu of grub, select the boot entry you want to boot with your Up/Down keys and press e to edit the entry.
Then navigate down to the line that starts with linux and append break or break=<run-time> to make the boot process stop in the initramfs.

۰ نظر
علی فلاح

Graphic Card, GPU, OpenGL, Vulkan

به نام خدا

سلام.

یک سری توضیحات از مفاهیمی که یاد گرفتم رو میخوام اینجا یادداشت کنم.

۰ نظر
علی فلاح

Wayland

به نام خدا

توضیحاتی در مورد Wayland

۰ نظر
علی فلاح

Useful Linux Commands

this post I use to save only commands that uses in every day:

 

۰ نظر
علی فلاح

مشکل سرعت پایین لینوکس (گنوم)

سلام

نزدیک ۲ ماه بود که درگیر سرعت پایین لینوکس بودم میدونستم که مشکل از منابع سیستم نیست چون سیستم من هم منابع خوبی داشت هم ویندوز که طبیعتا منابع بیشتری میخواد خیلی روون روش اجرا میشد.

۰ نظر
علی فلاح

پروکسی socks5 از نظر فنی چگونه کار می‌کند؟

سلام

 

 

طبق تصویر بالا ابتدا یک کانکشن TCP با سرور پروکسی ساکس انجام میشود سپس یک پیام که حاوی ورژن ساکس (که در حال حاضر ۵ است) به همراه نحوه ی احراز هویت (که میتواند نداشته باشد) به سرور ارسال میشود سرور در پاسخ به ما میگوید که درخواست با شرایطی که گفتی اوکی بود

۰ نظر
علی فلاح

اتصال به وایفای در آرچ لینوکس

به نام خدا سلام

وقتی که آرچ لینوکس رو نصب کردم در مراحل نصب وای فای به درستی شناخته میشد و کار میکرد اما هنگامی کمه آرچ لینوکس بالا میومد دیگه خبری از وایفای نبود

به کمک چت جی پی تی مشکل حل شد.

۰ نظر
علی فلاح

معرفی مکان لایبراری ها و مکان هدر فایل ها به کامپایلر (فلگ های -L و -I در GCC)

به نام خدا

سلام. 

فلاگ -I برای معرفی مکان include ها کاربرد داره که به صورت زیر میشه ازش استفاده کرد

gcc test.c -o test -I/usr/include

و فلگ -L هم برای معرفی مکان Library ها کاربرد داره. لایبراری ها در واقع همون فایل های .a یا .so توی لینوکس و .lib و .dll توی ویندوز هستن که کد های از پیش کامپایل شده ان. میتونید چیز های بیشتر در مورد لایبراری ها رو توی این صفحه بخونید.

اگه اسم لایبراری که میخواهید اضافه کنید به پروژه libXX.a یا libXX.so باشه باید به صورت زیر لود کنید.

gcc test.c -o test -L$HOME/.usr/lib -lXX

در واقع با -L مکانش رو مشخص میکنید و با -l اسم لایبراری رو. توجه کنید تمام لایبراری ها اسمشون با lib شروع میشه برای همین دیگه توی معرفی اش اسم lib رو نمیارن. البته این اختیاری نیست و شما مجبورید که کلمه lib رو خط بزنید.

۱ نظر
علی فلاح

شیوه های کسب درآمد از برنامه های متن باز

ارایه پشتیبانی و خدمات:

در حال حاضر، متداولترین روش کسب درآمد، ارایه خدمات به همراه یک محصول متنباز است. یک پروژه متن باز را به صورت تصادفی انتخاب کنید، به احتمال ‌‌خیلـی زیـاد میبینید کـه به هرحال نوعـی خدمات همراهش ارایه میشود.

برنامه کامپایل شده: اگرچه شما کد برنامه را به صـورت رایـگان در اختیار قرار میدهید، اما همیشـه کاربرهایی هسـتند که میخواهند از نرم افزار استفاده کنند، اما دانش، زمان یا انرژی لازم برای کامپایل کردن آن را ندارند. این کاربرها معمولا حاضرند به شما پول بدهند تا شما کد خودتان را برای استفاده نهایی آنها آماده کنید.

خدمات نگهداری: شما از هر کسی بهتر نرم افزار خودتان را میشناسید. شما میتوانید این تخصص را به شـکل خدماتی که منجر بـه صرفه جویی در زمان و جلوگیـری از تلاش بی حاصل میشـود، به دیگران بفروشـید. بیشتر شـرکتها برای وقتشـان بیشتر از پول، ارزش قائل هستند و این راه بسیار خوبی است، به خصوص برای نرم افزارهای مبنی بر سـرور. نصب و راهاندازی پولی، یا پشتیبانی مدیریت سیستم همیشه در دسترس، دو نمونه اصلی هستند

سـخنرانی ها و کارگاه ها: اگـر نرم افزار خیلی پیچیده اسـت و یادگیری آن سـخت است، شرکتها ممکن اسـت شـما را اسـتخدام کنند تا به کارمندانشـان به صورت مستقیم آموزش دهید. یا اگر نرم افزار شما به قدر کافی محبوب باشـد، میتوانید کارگاه هایی برای افرادی برگزار کنید که میخواهند همه چیز را از پایه یاد بگیرند و به مراحل پیشرفته برسند.

۰ نظر
علی فلاح

فیلیموکدی

به نام خدا

سلام

آخرین پروژه ای که روش کار کردم فیلیموکدی بود که مربوط میشه به تماشای فیلم های فیلیمو به وسیله مدیاسنتر قدرتمند Kodi

تا الان هیچ اسکین یا add-on ای ایرانی برای Kodi ندیده بودم

برای طراحی و پیاده سازی این چیزی که الان میبیند ۳ ماه وقت گذاشتم

وقتی میرم توی برنامه اش واقعا لذت میبرم 

به نظر خودم که زیباست blush

۱ نظر
علی فلاح

کامپایل یک برنامه برای پردازنده ARM

به نام خدا 

سلام

بالاخره بعد از چند وقت تونستم وقت کنم و به کار های مورد علاقه ام بپردازم

یکی از کار های مورد علاقه من کامپایل لینوکس برای برد خودم هست.

کلا اینکه برنامه های Bare-Metal بنویسم

یعنی برنامه ای به زبان سطح پایین که به صورت مستقیم روی سخت افزار اجرا بشه بدون هیچ سیستم عاملی

۲ نظر
علی فلاح

تشریح حافظه نهان پردازنده (Cache)

به نام خدا

سلام

سریع میرم سراغ اصل مطلب

اول بگم که منبع ما کتاب سازمان و معماری کامپیوتر ویلیام استالینگز هست ویراست 10 میتونید از اینجا دانلود کنید

توضیح ابتدایی کش اینه که بین حافظه و پردازنده قرار میگیره و کارش اینه که بخشی از رم رو بیاره و توی خودش ذخیره کنه تا پردازنده به سرعت به دستور العمل ها و داده ها دسترسی داشته باشه. سرعت کش خیلی بالاتر از رم هستش.

۲ نظر
علی فلاح

کامپایل LibreElec و کامپایل kodi در لینوکس

به نام خدا

سلام

یه مطلب کوتاه در مورد نحوه کامپایل این دو برنامه!

البته خود LibreElec توی خودش kodi داره! ولی من میخوام kodi رو هم کامپایل همینجوری!

۰ نظر
علی فلاح

برنامه نویسی C++ برای ویندوز با استفاده از Windows API

به نام خدا 

سلام

برای برنامه نویسی با API میشه از زبان c یا C++ استفاده کرد!

برای اینکه بتونید یک پروژه درست کنید و یه چند خط کد بنویسید وارد این سایت بشید!

همچنین اگه میخواید دقیق تر کار کنید از این سایت استفاده کنید!

حالا به عنوان یک خلاصه و یک سر نخ برای شما مطلب زیر رو خدمتتون ارائه میکنم!

۰ نظر
علی فلاح

باز کردن فرم جدید بدون نشان دادن پنجره در استارت C#

به نام خدا سلام!

اینم کدش

۰ نظر
علی فلاح

لود کردن تصویر هنگام رسیدن به آبجکت در برنامه نویسی C#

به نام خدا
سلام!
در حال ساخت یک برنامه بودم دیدم که خیلی از حجم رم کامپیوتر صرف عکس هایی میشه که در حافظه بارگذاری میشه! حتی اگه عکس شما بی کیفیت ترین عکس و کم حجمترین عکس ممکن باشه با با کیفیت ترین حجم و پرحجمترین عکس با سایز مساوی توی رم یه مقدار رو اشغال میکنن و اونم به خاظره اینه که همشون به بیتمپ bitMap تبدیل میشن! یعنی شما میتونید بگید که یک عکس 10 در 10 با هر کیفیتی چقدر حجم اشغال میکنه! برای محاسبه این مثال تعداد کل پیکسا ها رو به دست میاریم! که در این مثال 10*10 میشه 100 پیکسل و میدونیم هر پیکسل شامل سه رنگ RGB هست که هر کدوم 8 بیت دارند در نتیجه حالت رنگ بندی ما 24 بیتی هست! و یعنی هر پیکسل 3 بایت اختصاص داده میشه! در نتیجه هر عکس که 10 در 10 باشه قطعا حجم فایل bitMap اون (تقریبا) 300 بایت هست!
۰ نظر
علی فلاح

کد نمایش عکس در زبان C# با Visual Studio در WPF

به نام خدا

سلام

راستش برای تعیین عکس از طریق کد کمی با مشکل برخورد تا توی سایت StackOverFlow به این کد برخوردم امیدوارم به دردتون بخوره!

۰ نظر
علی فلاح

ایجاد فایل exe و خروجی در QT

به نام خدا

سلام خدمت شما هموطنان عزیزم!

راستش اونجور که پیداست کیوت راه خاصی برای خروجی گرفتن از برنامه نداره که مثلا مثل یه عکس توی فتوشاپ بزنی Save as و هر جا دلت میخواد ذخیره کنی :)

۴ نظر
علی فلاح

یاداوری QT

به نام خدا

سلام!

میخوام چندتا از دسترسی های سریع رو که خیلی مورد استفاده قرار می گیرد را در اینجا قرار بدهم! امیدوارم برای شما مفید واقع شود!

۰ نظر
علی فلاح

ساخت مفسر زبان برنامه نویسی توسط زبان C

به نام خدا

سلام خدمت شما هموطنان عزیزم!

برای دانلود سورس برنامه میتونید از لینک زیر اقدام کنید!

۰ نظر
علی فلاح

کامپایل و اجرای (شبیه سازی) نسخه اول لینوکس Linux 0.11

به نام خدا

سلام خدمت شما هموطنان عزیز!

راستش دنبال این بودم که ببینم لینوکس چجوری کار میکنه گفتم برم ببینم کد اولین نسخه لینوکس که linux 0.01 هست چجوریه؟! و چطوری میشه اونو کامپایل و اجرا کرد!

کدش رو به راحتی به دست آوردم و در سرتاسر اینترنت موجوده اما اینکه چجوری اجراش کنم خیلی وقتم رو گرفت شاید 2 یا 3 روز روش وقت گذاشتم نشد!

۰ نظر
علی فلاح

اجرای برنامه C در NanoPI بدون سیستم عامل - Bare Metal NanoPI M1/Neo

به نام خدا

سلام خدمت هموطنان عزیزی که به دنبال یادگیری مطالب جدید هستند!

امروز بعد از 4 روز کار میخوام نتیجه اونو در اختیارتون قرار بدم!

۱ نظر
علی فلاح

اتصال Remote Desktop به برد نانو پای و رزبری پای بدون نیاز به مانیتور و موس و کیبورد

به نام خدا

سلام خدمت شما هموطنان عزیز...!

این اولین مطلب من بعد از کنکور هست :)

با ما همراه باشید ....

۰ نظر
علی فلاح

اولویت بندی وقفه ها در میکروکنترلر STM8S

به نام خدا

سلام خدمت دوستان عزیز و هموطنان گرامی!

علاقه مندان به میکروکنترلر و الکترونیک :)

خوب من سعی کردم برنامه ای بنویسم که همه اش از وقفه استفاده بشه و حلقه while خالی بمونه، چون به نظرم این جور برنامه حرفه ای تره و کمتر خطا خواهد داشت!

۱ نظر
علی فلاح

دانلود کتابخانه STM8S برای آلتیوم

به نام خدا

سلام!

خواستم یه برد برای میکرو STM8S003F3P6 بزنم که دیدم توی آلتیوم کتابخونه ای برای STM8S نداریم!

بعد از سرچ کردن چیز خاصی پیدا نکردم به جر این سایت که خداروشکر کارم با این سایت راه افتاد!

خیلی سایته خوبیه میتونید قطعاتتون رو توش سرچ کنید تا براتون بیاره! من رایگان دانلود کردم نمیدونم پولیه یا نه!

۳ نظر
علی فلاح

آموزش PWM میکروکنترلر 8 بیتی STM8S003F3P6

به نام خدا

سلام!

واقعا راست میگن که نابرده رنج گنج میسر نمیشود مزد آن گرفت جان برادر که کار کرد!

چند وقتی بود خیلی نارحت بودم که نمیتونم برای خودم برنامه بریزم که چه کار کنم! مثلا صبح از خواب بیدار میشدم میگفتم امروز فلان ماژول رو وصل میکردم! تا ظهر پا کامپیوتر میشستم موقع نماز میدیدم چیزی گیرم نیومد! (یعنی هیچ کاری نکردم) بعد از ظهر هم پا کامپیوتر میشستم تا شب دوباره وقت نماز شب میدیدم هیچ کاری نکردم! خیلی اعصابم خورد میشد! (دلیلش این بود که هر روز میخواستم یه کاری کنم ولی نمیشد!) امروز گفتم میرم سراغ PWM تا ظهر نشستم دوباره هیچ کاری نکردم! بعد از ظهر اومدم چند تا سرچ زدم تا به این فیلم در یوتیوب رسیدم! بعد نشستم هرچی نوشت رو منم نوشتم! نمیدونم چرا سورس رو نذاشته بود مثل آدم دانلود کنیم! 

بالاخره خدا رو شکر درست شد!

۲ نظر
علی فلاح

فایل های PDF مربوط به میکروکنترلر STM8S003F3P6

به نام خدا

تصمیم گرفتم فایل های مهم رو اینجا براتون بزارم!

۰ نظر
علی فلاح

پروژه های میکروکنترلر STM8S003F3P6

به نام خدا!

سلام

تصمیم گرفتم پروژه هایی رو که میسازم یا پیدا میکنم اینجا قرار بدم تا همه استفاده کنیم!

۱ نظر
علی فلاح

مشکل ماژول بلوتوث HC05 ارسال متوالی یک کلمه

به نام خدا

سلام!

امروز برای اولین بار رفتم تا با ماژول بلوتوث HC05 کار کنم!

اولش که اصلا نمیدونستم چطور کار میکنه! فک میکردم مثل وایفای هست که میتونید بعد از اتصال بهش دستور های AT رو ارسال کنی!

۰ نظر
علی فلاح

آموزش پروگرم کردن و دیباگ کردن میکرو های STM8S در برنامه IAR

به نام خدا

سلام!

امروز برد آموزشی STM8S003F3P6 که از کویر در این آدرس خریده بودم! به دستم رسید! برای پروگرم کردنش طبق یه آموزش فارسی از برنامه STVP استفاده کردم و با مشکل برخوردم بعد رفتم سراغ خود برنامه IAR و از اونجا فهمیدم که میشه علاوه بر پروگرم کردن به طرز زیبا و جالبی دیباگ هم کرد!

۲ نظر
علی فلاح

اتصال ماژول ESP8266 به ربات تلگرام

به نام خدا!

سلام....!

دیروز داشتم توی چند تا سایت میگشتم که به این موضوع برخورد کردم!

من روی ماژول NodeMCU فلش کرده بودم. بنابراین رفتم دنبال ربات تلگرام سازگار با NodeMCU. یکی هم پیدا کردم که خیلی کامل بود ولی نتوستم بریزم روی ماژول.

اینبار رفتم سراغ آردوینو و طبق آموزش زیر از robouav پیش رفتم و آردوینو رو روی برد رختم!

۰ نظر
علی فلاح

نصب فریمور eLua روی برد آموزشی LPC1768

به نام خدا

سلام!

راستش وقتی با ماژول وایفای ESP8266-01 کار میکردم. (NodeMCU روش نصب کردم) خیلی لذت میبردم که بدون نیاز به کامپایل برنامه میشه به صورت آنلاین روش پروگرم کرد! منظورم اینه که دیگه نیاز نیست میکرو رو ریست کنی و وصل کنی به پروگرمر و... فقط همونجوری که روشنه وصلش میکنی به UART و براش برنامه مینویسی! تازه ویژگی های LUA خیلی بیشتر از ایناست. مثلا میتونی چند تا برنامه رو همزمان داشته باشی. یعنی میتونی هر وقت خواستی برنامه مورد نظرت رو اجرا کنی ...

۰ نظر
علی فلاح

اجرای برنامه های mbed روی برد های آموزشی LPC1768

به نام خدا

سلام خدمت دوستان عزیز و هموطنان گرامی

امروز دنبال این میگشتم که چظور میکرو LPC1768 رو با کابل Ethernet به اینترنت وصل کنم. تا اینکه به این صفحه رسیدم. (این سایت برای کشور عزیزمون تحریمه، باید با فیلتر شکن بازش کنید). اینجا بود که تازه با سایت mbed آشنا شدم!

اول دیدم ابتدای کد نوشته #include "mbed.h" خوب بنابراین دنبال کتابخانه mbed.h گشتم. که به این صفحه رسیدم. دیدم یه عالم کتابخونه برای این میکرو نوشتن که خیلی هم کیفیت برنامه نویسی خوبی دارن و با زبان C++ میشه ازش استفاده کرد.

۲ نظر
علی فلاح

پروژه emWin حرفه ای همراه با کارت SD و پخش WAV و پشتیبانی از موس و اتصال UART

به نام خدا

سلام خدمت دوستان عزیز!

این پروژه از پارسال هست همون پارسال خواستم بزارم ولی با خودم گفتم بزار حرفه ای ترش کنم ولی دست از کار کشیدم. بنابراین امسال که دوباره اومدم سراغش گفتم بدون هیچ تغیری اول برای شما دوستان قرار بدم.

۰ نظر
علی فلاح

پردازنده 8086 با زبان VHDL

به نام خدا

سلام خدمت دوستان عزیز

بعد از سه ماه کار تصمیم گرفتم نتیجه ی کارم رو در اختیار شما بزرگواران قرار بدم!

راستش در سدد بودم که یک کامپیوتر بسازم بنابراین دست به کار شدم و ابتدا اتصال حافظه ی میکرو SD به FPGA رو بررسی کردم و آموزش اون رو اینجا قرار دادم. سپس برای نمایش متن نیاز به ارتباط با LCD بود پس به سراغ VGA رفتم و آموزش آن رو در اینجا قرار دادم. تا اینکه رسید به ورودی ها یعنی کیبورد و موس که بعد از یک سری کار روی اینها موفق به توصیف مداری که بتواند به کیبورد متصل شود، نشدم. در نهایت به سراغ قلب کامپیوتر یعنی پرازنده رفتم. نیاز بود تا پردازنده از یک سری دستور العمل پشتیبانی کند. باید دستور العمل ها را مشخص میکردم ولی برای نوشتن برنامه برای این پردازنده نیازمند کامپایلر و... بودیم بنابراین تصمیم گرفتم که دستور العمل های پردازنده مانند پردازنده ی معروف و مشهور اینتل یعنی 8086 باشد زیرا که برنامه و کامپایلر و شبیه ساز برای این پردازنده در اینترنت موجود است. بنابراین دست به کار شدم و مبنای کارم رو برنامه emu8086 قرار دادم. تا در نهایت بیش از 80 درصد دستور العمل های این پردازنده رو پورت کردم و به سراغ وقفه های dos رفتم تا با آن با نمایشگر ارتباط بر قرار کنم و روی LCD کاراکتر نمایش دهم. در اینجا بود که برای سخت افزار من (کارت SD) مشکلی پیش اومد و از ادامه ی کار باز ماندم. ولی کد مربوط به نمایش کاراکتر رو نوشتم اما از درستی عملکردش صحت حاصل نشده!

۰ نظر
علی فلاح

عبارت alias در VHDL چیست؟ و مشکل آن

به نام خدا

سلام

این عبارت به انگلیسی معنی لقب میده و تقریبا کار define در زبان  C رو انجام میده!

از طریق این عبارت شما میتونید برای هر بیت یا چند بیت از یک سیگنال یا متغیر یه اسم جدا تعریف کنید!

۲ نظر
علی فلاح

ساخت فایل coe برای بلاک رم و رام در Xilinx

به نام خدا

سلام خدمت شما دوستان عزیز

امروز میخواستم یک رم بسازم که اطلاعات از فبل درونش باشه..! یعنی یه جورایی میخواستم یه رام بسازم (از طریق IP Core ها) و باید اونو init میکردم.

۶ نظر
علی فلاح