Отговори на тема  [ 10 мнения ] 
Как се пише UI в 1К рам и 84x48px? 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Авг 22, 2007 3:04 pm
Мнения: 48
Мнение Как се пише UI в 1К рам и 84x48px?
Здравейте пак,

Много мерси за помощта по захранването, хардуера е горе-долу готов вече. Сега програмирането ме мъчи.

Използвам ATmega168 (с опция за ъпгрейд до 328) и avr-gcc. Устройството ми използва дисплей от Нокиа 3310 и един скрол от стара мишка за input. Драйверите за тез компоненти са написани, input-а е изцяло в прекъсвания. За сега всичко е чисто C. Опитите да смеся C++ със C-то за сега се провалят, avr-libc прави проблеми. Знам, че има начин и разни хора са го правили, та ако се наложи ще копам и в тази посока. Следващата стъпка е потребителския интерфейс, който малко ме затруднява, да не кажа много. С програмирането съм горе долу в час, но обикновено RAM-та ме притеснява като стане над 128MB ;D. Нямам никакъв опит в писането на по-сериозни неща за микроконтролери и още не мога да измисля как да организирам нещата. Рових из нета за някой проект от който мога да безскрупулно да открадна идеи, ама нейсе, нищо не намерих.

Можете ли да ми дадете пример как да организирам кода си за UI? Общи насоки?

C или C++?

Линкове към неща които могат да бъдат полезни?

Edit: Под потребителски интерфейс разбирам един "Home" екран (той се чертае лесно), едно-две менюта, няколко екрана за настройване на параметри с input контроли за цифри, OK и Cancel. Стандартните неща.


Нед Окт 25, 2009 11:24 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Нищо особенно. Просто си чертаеш по екрана а не в буферна памет и тогава да пращаш към дисплея.
Нещата стават по лесно на C++ но съм забелязал че иска с към 20 тина процента повече стек в сравнение с същото нещо написано на C. Това съм го забелязал точно при GUI. По моите наблюдения като програмна памет малко се раздува проекта от C++. Тия наблюдения за за IAR при AVR и при АРМ7.


Нед Окт 25, 2009 3:20 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Авг 22, 2007 3:04 pm
Мнения: 48
Мнение 
Цитат:
Нищо особенно.

Ха, сега разбирам хората на които аз обяснявам как се чувстват ...

Най-добре ще ми е ако мога да гледам примерно изпълнение. Вие от къде сте се учили?

Намерих това, което е даже повече като функционалност от необходимото ми. Само дето при avr-gcc нещата с РОМ-а са малко по-различни. Как, например, да сложа пойнтер към функция в програмното пространство?


Нед Окт 25, 2009 3:49 pm
Профил WWW
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Нед Яну 18, 2009 1:28 pm
Мнения: 110
Мнение 
lz3060 написа:
Цитат:
Нищо особенно.

Ха, сега разбирам хората на които аз обяснявам как се чувстват ...

Най-добре ще ми е ако мога да гледам примерно изпълнение. Вие от къде сте се учили?

Намерих това, което е даже повече като функционалност от необходимото ми. Само дето при avr-gcc нещата с РОМ-а са малко по-различни. Как, например, да сложа пойнтер към функция в програмното пространство?


научи се да МИСЛИШ !
ако ти идва сложно (мисленето) - си сбъркал професията !


Нед Окт 25, 2009 3:53 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Авг 22, 2007 3:04 pm
Мнения: 48
Мнение 
smtp написа:
научи се да МИСЛИШ !
ако ти идва сложно (мисленето) - си сбъркал професията !


421


Нед Окт 25, 2009 3:59 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Мар 08, 2006 2:12 pm
Мнения: 2017
Местоположение: Котел
Мнение 
Не се забивай с тези готови UI. За несложно меню не ти са необходими готови функции, структури. Реши какво ще рисуваш по дисплея като менюта, четеш бутоните и пишеш директно на дисплейчето евентуално промени или каквото там трябва да се вижда, Киров ти го каза вече. Я обясни какво точно като структура и функционалност трябва да направиш, ще бутнем едно рамо със съвети.


Нед Окт 25, 2009 6:59 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
Като начало, ползваш ли AVR Studio, или нещо друго?


Нед Окт 25, 2009 6:59 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Авг 22, 2007 3:04 pm
Мнения: 48
Мнение 
Не искам да забивам с готови решения, а просто да видя един два примера -- така най лесно се учи :)

Използвам Eclipse с AVR Plugin, avr-gcc на Linux. Изобщо, целия проект го правя само с отворен код (KiCAD, OpenOffice, Dia ...). На такива като мен им викат freetards.

Мисля, че хванах някаква посока вече, да се помъча, пък като забия ще питам пак :)


Нед Окт 25, 2009 7:18 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
Значи буфер за монохромен дисплей 84х48 заема 504 байта, т.е. половината от това, което имаш.


Нед Окт 25, 2009 8:39 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Авг 22, 2007 3:04 pm
Мнения: 48
Мнение 
Така е, ама правя и разни интерполации с по 6 коефициента, на места може би една върху друга, а и не знам как да проверя кога колко памет се използва. Единственият инструмент за това под Линукс е simulavr, обаче не се компилира за x86_64. Пък и не ми е необходим буфер, ще се чертае директно.

За сега се отказах от ++. Мерси за насоките.

Ъпдейт: Наистина не е нищо особено :D :D :D


Нед Окт 25, 2009 9:32 pm
Профил WWW
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 10 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни