Pull to refresh
0
0
Teshimoto @Dronishe

User

Send message
Телеграм боты поддерживают кастомные клавиатуры (https://core.telegram.org/bots#keyboards)
Я бы сделал боту несколько команд:
/bind name ip mac — чтобы «запомнить» настройки
/wol для отображения списка запомненных кнопочек для включения нужного компа.
И вот опять я вижу, как автор топика наступает на те же грабли, что и тысячи его предшественников.
Настоятельно рекомендую ему прочитать это книгу Джефа Хокинса и Сандры Блэйксли «Об интеллекте». (Где скачать/купить найдёте сами).
В этой книге подробно разобран подход к теме, аналогичный описанному в посте и доходчиво объясняется почему он совершенно неправильный, а так же рассказывается как это должно работать «правильно».
Буквально на днях столкнулся с тем, что std::vector «тяжелый». В моем случае мне надо было создавать огромное количество объектов, которые имели вложенные векторы. И лишние 12 байт на вектор выходили узким местом, выедая память на хранение пустоты.
Большое спасибо за код!
Или под «патченным» имеется ввиду просто добавленный deviceid?
А можно сорцы патченого usbboot? Потому что версия 1.4 — только под венду, а без fconfig и run грустно.
Ничего не понял. В скрипте используется fconfig, у меня в usbboot он помечен как not implemented. Откуда взялись другие сорцы?
Кстати, во всех конфигах в этой теме неполиткорректная опечатка:
BADBLACKPOS 0
BADBLACKPAGE 0
А что делать после того как я бутнулся?
Подозреваю, что надо залить что-нибудь в память, но меня шлёт лесом:
usbboot :> load 0x80600000 uImage 0
start:::::: 0x80600000
Total size to send in byte is :1993303
Loading data to SDRAM :
Error - can't read bulk data from Ingenic device:-110
Load last address at 0x1
0x80603000
Error - can't read bulk data from Ingenic device:-110
Load last address at 0x1
Отбой, утянул по ссылке из habrahabr.ru/blogs/DIY/108917/#comment_3454396 и устройство бутнулось
Что бы я ни делал, какие бы stage1/2 не подсовывал — результат одинаковый:
$ sudo ./usbboot -1 /usr/local/share/xburst-tools/fw.bin -2 /usr/local/share/xburst-tools/u-boot.bin
usbboot - Ingenic XBurst USB Boot Utility
© 2009 Ingenic Semiconductor Inc., Qi Hardware Inc., Xiangfu Liu, Marek Lindner
This program is Free Software and comes with ABSOLUTELY NO WARRANTY.

Now checking whether all configure args valid: YES
Current device setup information:
Crystal work at 12MHz, the CCLK up to 252MHz and PMH_CLK up to 84MHz
SDRAM Total size is 32 MB, work in 4 bank and 16 bit mode
Nand page per block 128, Nand page size 4096, ECC offset in OOB 12, bad block offset in OOB 0, bad block page 127, use 1 plane mode
usbboot :> boot
CPU not yet booted, now booting...
Loading stage1 from '/usr/local/share/xburst-tools/fw.bin'
Download stage 1 program and execute at 0x80002000
Loading stage2 from '/usr/local/share/xburst-tools/u-boot.bin'
Download stage 2 program and execute at 0x81c00000
Error - can't retrieve XBurst CPU information: -110

Что это за ошибка?
Americhip Russia просто заминусует всех в этой теме.
А, значит прошивку, при наличии оной, залить я всегда смогу. Супер. Эксперементы продолжаются.
запоротый девайс

Т.е. запороть его реально :( Жаль, подожду тогда, пока кто-нибудь что-то откапает рабочее, а то у меня только один экземпляр.
Отлично, т.е. получить брик от кривого лоадера можно не бояться?
Про общение по usb я имел ввиду немного другое: ведь мало запустить ядро, нужно ещё как-то с этим девайсом потом общаться (я имею ввиду передачу данных между функционирующией на плате осью и ПК), эзернета-то нету. Может можно как-то поднять usb-сеть? Я подобным никогда не занимался.
Поковырялся вчера, оказывается, если поставить последние патчи на ядро и u-boot, то в ридми появляется строчка про сборку под jz4725: make dipper_nand_config; (Надо ведь под NAND собирать?)
usbboot под линухом устройство не видит(устройство в бут-режим входит, проверено), вероятно, из-за девайсайди который надо в сорцах подправить. Проблема в том, что подправленный бинарник не может распарсить конфиг (libconfuse взят из репов, конфиг — по ссылке в этой теме)
Кажется я что-то делаю не так.
И вот ещё вопрос, когда я наверну туда ядро линуха (если наверну), сможет ли эта штука дальше общаться с компом по usb? Там же usb вроде не host. (Я в аппаратной части слабоват). И вообще как дальше я смогу общаться с устройством?
Да, я знаю про func_get_args(). У меня просто были сомнения, что магическая функция поведёт себя точно также как и любая другая в данном случае.
Под костылём я имел ввиду запись вида $this->{$name}.
А вызов __invoke(); напрямую — это то, от чего я пытался уйти. С тем же успехом можно было бы писать fireEvent и эта реализация ничем не отличалась бы от сотен предложенных ранее. К тому же, разве вызов __invoke() напрямую позволит передать аргументы в функцию?
Да, я видел этот и код и примеры-монстры. Своей реализацией я хотел всего лишь добиться избавления от лишних цепочек вызовов и попытаться сделать код более минималистичным, не потеряв в удобстве использования.
1) Да, спасибо, я заметил это немного позднее, не успел поправить текст статьи.
2) Буду посмотреть
3) Это отличная новость! Я сам не сообразил проверить код на возможность подобного, но раз это есть, значит можно избежать вызова private!
А разве в таком случае не получится, что для всех объектов класса Test будут одинаковые коллбэки?
1

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity