Oct. 31st, 2012

dlinyj: (Default)
Что-то в связи с болезнью никак не могу добраться до ЖЖ, собраться с мыслями и написать данный простенький пост. Грёбаная осень!

Забегая вперёд скажу, что мне удалось по UART передать картинку, всё благодаря товарищу [livejournal.com profile] paracloud, который мне точно указал что делать в этом посте http://dlinyj.livejournal.com/609986.html .

Говоря простым языком, нужно настроить консоль. Я набросал небольшую програмку

#include <stdio.h>

...
int main (int argc, char* argv[])
{
    struct termios oldtty, newtty;
    fcntl(0, F_SETFL, 0);     //read com-port is the bloking
    tcgetattr(0, &oldtty);
    newtty = oldtty;
    newtty.c_iflag =  IGNBRK;
    newtty.c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN);
    newtty.c_oflag = 0;
    newtty.c_cflag &= ~PARENB;
    newtty.c_cflag |= CS8;
    newtty.c_cc[VMIN] = 1;
    newtty.c_cc[VTIME] = 1;
    tcsetattr(0, TCSANOW, &newtty);
    return 0;
}



По сути программа перенастраивает терминал и отключает эхо. После чего "вслепую" вводим на книжке
cat /dev/tty > result.raw

а на компе вводим
sudo cat img.raw > /dev/ttyUSB0

И спустя, примерно, минуту получаем исходный файл на книжке. Консоль удаётся вернуть только после перезагрузки книжки. Это файл вполне себе видится и выводится на экран без потерь и артефактов.

Это был топорный тестовый вариант, в стиле "а можно ли?"

Далее, я решил написать программу, которая не создаёт промежуточный файл, а принимает данные в буфер, а затем этот буфер копирует во фреймбуффер. Ознакомится можно под катом )

Здесь настраивается блокирующее чтение:

fcntl(0, F_SETFL, 0); //read com-port is the bloking

Которое не делает бесконечный цикл, а блокирует оператор read до появления данных.

Не знаю, что я делаю не так. Пограмма честно отрабатывает, но выводит тупо чёрный экран, по завершению приёма. Увы...
Надо разбираться дальше.
dlinyj: (Default)
Когда я покупал Меле, то думал как же я туда буду вставлять жёсткий диск. Даже на всякий случай купил на алиэкспрессе кейс, а оказалось что он не нужен :(. Появился у меня винт на 3-й ЮСБ, и у него оказывается отстёгивается преобразователь и винт как родной встаёт в меле:


Винт в Mele A2000



Отстёгнутый интерфейс


Опять же из-за того, что я больной хожу на работу, а больничный мне не дают, то нет ни сил, а самое печальное желания заниматься чем либо. Всё из под палки, хочется просто лечь и у мереть.

В результате я таки собрал новое ядро для этой коробочки (всё благодаря [livejournal.com profile] rzk333 , за что ему большое спасибо), но оно у меня всё никак не заведётся. Осложняет всё то, что мой преобразователь UART, которым я так понтовался глючит и зависает. А второго ft232rl у меня пока нет. Собираюсь заказать на ебее, но когда же он доберётся до меня...

January 2026

S M T W T F S
    123
456 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 23rd, 2026 12:19 am
Powered by Dreamwidth Studios