Jump to content

    

enclis_

Свой
  • Content Count

    127
  • Joined

  • Last visited

Community Reputation

0 Обычный

About enclis_

  • Rank
    Частый гость

Контакты

  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

3207 profile views
  1. Ну так в "обычном линуксе" тоже самое: https://github.com/torvalds/linux/blob/master/drivers/staging/mt7621-dts/mt7621.dtsi, оно конечно staging, но не суть. А что не треш? openwrt кстати весьма неплохо выглядит на фоне остальных. Лет 5-10 назад может быть было не очень, а сейчас всё не так плохо как может показаться. Этого коммита я кстати не нашёл в официальной репе openwrt)) В обычном линуксе было дело, да) - https://github.com/torvalds/linux/commit/c7092ed7946217a9ffad8aa1bcacece727843674
  2. Огромное спасибо вам за то, что вы хотя бы поверхностно взглянули на проблему. Ну ведь это было бы совсем просто, правда же? :) В новых версиях openwrt оно немного по-другому. Достаточно посмотреть dts конкретной железки (https://github.com/openwrt/openwrt/blob/master/target/linux/ramips/dts/mt7621_xiaomi_mir3g-v2.dts) и увидеть, что обращение к первому банку идёт просто через gpio. Ну а так оно даже не собирается: ERROR (phandle_references): /palmbus@1E000000/spi@b00/xpt2046@4: Reference to non-existent node or label "gpio0" В этом зацепке наверное что-то есть, но как к ней подойти правильно я не знаю. Раньше было явно 3 банка, теперь как бы один. При этом: # ls /sys/class/gpio/ export gpiochip416 gpiochip448 gpiochip480 unexport # cat /sys/class/gpio/gpiochip4*/label 1e000600.gpio-bank2 1e000600.gpio-bank1 1e000600.gpio-bank0 По 32 GPIO на каждый gpiochip при том что согласно даташиту доступно только 49 (ну не развели наверное просто на ножки). А вообще в конце таблицы с описанием пинов - "Total 265 balls", а всего шариков 347, опять же, если верить "Ball Map" из того же даташита. Я уж не стал сверять таблицу с описанием пинов и "Ball Map". Или всё-таки надо? "GPIO pin share scheme" соответствует правде.
  3. Меня вот больше интересует вопрос почему функции ads7846_hard_irq () и ads7846_irq () из драйвера не используются. Как это отлаживать?
  4. Зачем обязательно иметь видеоконтроллер для LCD? Может быть мне надо просто одну статическую картинку вывести раз в час (фоторамка-роутер, лол ). Может быть мне вообще не надо LCD. Хочу просто тачскрин как input устройство. У MT7621A 2 ядра, 4 потока.
  5. Пытаюсь добавить сенсорный экран ( compatible = "ti,ads7846"; ) к железке на базе MT7621 через SPI, но похоже, что OpenWrt (ядро 5.4.52) не хочет перенаправлять прерывание к драйверу ads7846 (https://github.com/torvalds/linux/blob/master/drivers/input/touchscreen/ads7846.c). Кусок из моего дерева устройств: .... #include "mt7621.dtsi" .... xpt2046reg: xpt2046_reg { compatible = "regulator-fixed"; regulator-name = "xpt2046_vcc"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; ..... &spi0 { status = "okay"; .... spidev3@3 { #address-cells = <1>; #size-cells = <0>; compatible = "ralink,mt7621-spi"; reg = <3>; spi-max-frequency = <250000>; status = "disabled"; }; xpt2046@4 { compatible = "ti,ads7846"; reg = <3>; vcc-supply = <&xpt2046reg>; spi-max-frequency = <250000>; interrupt-parent = <&gpio>; interrupts = <18 IRQ_TYPE_EDGE_FALLING>; pendown-gpio = <&gpio 18 GPIO_ACTIVE_LOW>; ti,x-min = /bits/ 16 <0x0>; ti,x-max = /bits/ 16 <0x0fff>; ti,y-min = /bits/ 16 <0x0>; ti,y-max = /bits/ 16 <0x0fff>; ti,x-plate-ohms = /bits/ 16 <180>; ti,pressure-max = /bits/ 16 <255>; ti,debounce-max = /bits/ 16 <10>; ti,debounce-tol = /bits/ 16 <5>; ti,debounce-rep = /bits/ 16 <1>; ti,keep-vref-on = <1>; ti,settle-delay-usec = /bits/ 16 <150>; wakeup-source; status = "okay"; }; }; Прерывание успешно регистрируется в системе: ads7846 spi0.3: touchscreen, irq 27 Драйвер тоже успешно грузится: input: ADS7846 Touchscreen as /devices/platform/1e000000.palmbus/1e000b00.spi/spi_master/spi0/spi0.3/input/input0 MISO, MOSI, SCK и CS работают на spi0.3, а драйвер сенсорного экрана даже что-то отвечает вразумительное во время инициализации линуксового драйвера во время загрузки системы. В /proc/interrupts появляется соответствующая строка: 27: 0 0 0 0 1e000600.gpio 18 ads7846 Event находится в /dev/input/event0. GPIO18 подтянут снаружи к питанию через 10 кОм. Но когда чип драйвера сенсорного экрана опускает вниз соответствующую ножку (pendown), в /proc/interrupts ничего не происходит. Функции ads7846_hard_irq () и ads7846_irq () из драйвера даже не используются. Если я удалю всякое упоминание о GPIO18 в дереве устройств, то GPIO18 можно будет свободно использовать в качестве источника прерывания через gpiolib записав echo falling > /sys/class/gpio/gpio490/edge, что будет потом видно в /proc/interrupts. # cat /proc/bus/input/devices I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="ADS7846 Touchscreen" P: Phys=spi0.3/input0 S: Sysfs=/devices/platform/1e000000.palmbus/1e000b00.spi/spi_master/spi0/spi0.3/input/input0 U: Uniq= H: Handlers=event0 B: PROP=0 B: EV=b B: KEY=400 0 0 0 0 0 0 0 0 0 0 B: ABS=1000003 Как еще можно это отлаживать? Я видел, что у некоторых event тачскрина регистрировался как два устройства - например как /dev/input/event0 и /dev/input/event1, а прерывания шли только на /dev/input/event1. Соответственно в /proc/bus/input/devices было Phys=spi0.х/input0, а Sysfs=/devices/platform/...../spi_master/spi0/spi0.х/input/input1. У меня не так, но мне кажется, что это не так важно. Или важно?
  6. Когда-то очень давно я пробовал работать с LPC4370, тоже взял тогда LPC-Link2. Хотел попробовать 80Msps 12-бит АЦП. Прокачать на нём 100Mb/s через виртуальный COM порт почти не реально. Можно через MII/RMII, у LPC4370 есть MAC контроллер.
  7. Продам дисплеи PA7201280A. AMOLED разрешением 1280х720, диагональю 5'', размеры 65.92×118.64×1.00 мм с ёмкостным тачскрином, интерфейс MIPI DSI. В наличии 40 штук. Прошу 60$ за штуку. Даташит.
  8. Это вы где stm32f103c8t6 за 1 бакс от 10 штук нашли? Только не надо ссылок на али и ему подобные, там тот же GD32F103C8T6, а не STM32.
  9. Чем вас ReSpeaker и ему подобные не устраивают?
  10. Опыт показывает, что "обычного сглаживающего конденсатора" оказывается не достаточно для избавления от почти всех пульсаций. Для большинства цифровых схем этого может быть и достаточно, но для аналоговых - нет. Всем спасибо за помощь, отдельная бпагодарность Plain и Serge V Iz.
  11. Мне не надо быстро менять ток через светодиод - доли герц, не быстрее.
  12. Я скорее всего глуп, но объясните, пожалуйста, зачем обратная связь подключена на входное напряжение через R3? Под "готовым решением" я имел в виду микросхемы типа LED5000 или AL8861. То есть специализированное решение для светодиодов с возможностью регулировки выходного тока.
  13. Антистоксовые люминофоры - это наследие того времени когда были широко распространены красные/инфракрасные источники излучения, а хотелось получить что-нибудь в видимом ближе зелёному или даже дальше. Сейчас их использование для светодиодов обосновывают тем, что КПД красных/инфракрасных источников значительно выросла, а цена при этом даже немного снизилась, закрывая глаза на то, что в общем случае up-конверсия менее эффективна чем down-конверсия. Получают 1.2 лм/Вт и считают это нормальным.