LINUX.ORG.RU

Сообщения SL_RU

 

STM32 + Emacs. Убираем костыли

Доброго вечерка!

Ещё с давних пор я смирился с тем фактом, что хардварная разработка будет проходить на винде. Eagle и Keil не оставляли меня в покое.

Чуть более года назад я перешёл на kiCad, чем был чрезвычайно доволен! Просто невероятно крутая ЕДА и удобная. Теперь ещё меньше времени стал проводить в винде...

Но keil так и не хотел уходить. А на фоне эклипса (SW4STM32) keil выглядел прямо таки великолепно. И, к огромному сожалению, работать в своём емаксике было совсем не удобно - библиотеки HAL просто гигантские, а юзать Stm32CubeMX и переписывать Мэйкфайл после каждого действия было бы мазохизмом. Ещё одной проблемой была отладка и загрузка прошивок.

Но всё встало на свои места через некоторое время после поисков. Сначала нашёл опенсорсный st-link (на то время он был кривоват), а потом и скрипт для генерации мэйкфайла по проекту STM32CubeMX.

https://github.com/baoshi/CubeMX2Makefile

https://github.com/texane/stlink

Сделал тестовый проектик. И ОНО СКОМПИЛЛИРОВАЛОСЬ! Я был щастлев. Но прошивка на STM32F4xx не удалась =с Только сработало с STM32F103. Но всё-равно.

И вот через несколько месяцев у меня появилось время между проектами и я решил похимичить. Репозиторий ст-линк обновился - теперь всё дебагилось и шилось без проблем. С компиляцией проблем не было тоже(только пришлось добавить -с99 в генерацию мэйкфайла).

И решил я прицепить это к емаксу. И получилось отлично! Но не так идеально, как я хотел... время поджимало, поэтому вышли костыли.

Я использовал EDE проекты для автокомплита, компиляции и дебага. И в идеале хотел сделать для ЕДЕ тэмплейт, чтобы всё было автоматизировано, но пока есть только костыли.

Мне оч нравится lisp, но нет времени и задач для его изучения, поэтому код может быть ужасным. Но он работает ^^

Итак мой костыль для stm32 в емаксе: https://github.com/SL-RU/stm32-emacs

  1. нужно установить CEDET и https://github.com/texane/stlink
  2. клонируем https://github.com/SL-RU/stm32-emacs и делаем git submodule update --init
  3. в init.el
    (load-file (concat user-emacs-directory "/stm32/stm32.el"))
    (require 'stm32)
    ;;По желанию
    (stm32-load-all-projects)
    (global-semantic-idle-scheduler-mode 1)
    
  4. создаём проект в CubeMx и генерируем его для SW4STM32
  5. M-x stm32-new-project RET *select CubeMX project path*
  6. stm32-run-st-util для запуска st-util
  7. stm32-start-gdb для запуска gdb
  8. (gdb) load для загрузки прошивки
  9. stm32-generate-makefile для перерегенерации мэйкфайла и тд после изменений в кубМх и тд

И оно роботаит. О том как загружать прошивку стоит почитать в доках st-util.

Итак, что вы можете предложить, чтобы улучшить ето? Текущее состояние довольно юзабельно, но можно же сделать лучше, хех

 , ,

SL_RU
()

Emacs melpa.org проблемы с доступом.

Доброго вечера!

Сегодня захотел поставить новый пакет из репозиториев на emacs, но столкнулся с проблемкой - melpa.org не доступен.

Вроде пингуется нормально, но ни сайт, ни сами репозитории не доступны.

У вас работает?

 

SL_RU
()

Omega2 с кикстартера

Денька!

Тут на кикстартре сейчас собирает средства очень интересный проектик: https://www.kickstarter.com/projects/onion/omega2-5-iot-computer-with-wi-fi-p...

Это одноплатный компьютер с вайфай и ценой в $5.

580мгц тактовая частота, 64мб оперативки и 16 флэши в младшей модели (в старшей: оператива и флэш х2 + слот microSD). Стандартные интерфейсы и I2S.

Очень интересная штучка и с лёгкостью заменит всем приевшуюся esp8266(хоть она и дешёвая, но проблем с ней миллиард).

Но у мя возник вопросик. Есть ли доставка в Россию? И сколько будет стоить, хм? А то там нельзя этого узнать - сначала требуют данные карточки. Возможно кто-нибудь уже делал там взносы, подскажите?

 , , ,

SL_RU
()

Open hardware STM32 MP3 player

Hello!

Как то давно я загорелся идеей сделать открытый музыкальный плеер(отдельное устройство). Эта идея была вызвана многими причинами: начиная от банального отсутствия необходимых функций в существующих плеерах и кончая ненадёжностью плееров из смартфончиков и планшетиков(малая продолжительность автономной работы, в дешёвых моделях - качество звука и тд).

Будучи знакомым с STM32 микроконтроллерами я начал работу. Было два варианта плеера: с использованием аппаратного кодека или программного. После экспериментов с программным я решил использовать хардварный(из-за низкого качества декодирования, отсутствия множества форматов, отсутствия эквалайзера и других необходимых для нормальной работы плеера фич).

После долгих поисков я остановился на кодеке VS1053. Он был оптимальным по соотношению цена/качество*фичи. После первых тестов я понял, что он офигенен: качество звука на высоте, огромный подробный даташит, множество поддерживаемых форматов и простота работы с ним.

Итак, я начал работы. Собрал макет и стал писать программу.

На макете присутствовал сам кодек на отладочной платке с алиекспресса, MCU - stm32f103cbt6(было достаточно ножек и был в наличии в ближайшем чипдипе)(плату развёл и сделал сам фотки), eeprom(24lc256 - самая дешёвая), уродливый разъём для microsd карточки(внутренний еврей не позволил покупать разъём для макета за 150 рублей. В итоге на макете частоту SDIO пришлось снизить, но на это повлияли больше длинные провода, чем разъём), OLED 0.96" дисплей на контроллере SSD1306(просто обожаю чб олед дисплеи(они няяяшные)) и самодельная 12ти кнопочная клавиатурка.

Фотки макета: https://imgur.com/a/TvJSv

На ютубе можно посмотреть видео с самых первых этапов разработки(тогда даже не была написана система и не был допилен гуй): https://www.youtube.com/channel/UC5pY283jfYVHqjVQ8bXEKBQ

Программил я после учёбы, поэтому затянулось всё на долго. Но в итоге было много чего сделано: драйвер дисплея(его я написал раньше, теперь перевёл на DMA), драйвер кодека, система, которая позволяет запускать отдельные приложения и управляет всем, в том числе и необходимыми харварными частями и отображением всего на экран, библиотека графического интерфейса со множеством необходимых элементов, сам графический интерфейс(менюшки, верхний бар, настройки и тд), музыкальный плеер(тот, что только взаимодействует с драйверами) и три приложения(файловый менеджер, тестовое приложение и приложения для музыкального плеера(интерфейс)). Всё это работало, играло музыку и причём совсем таки не плохо.

В это же время я рисовал схему и разводил плату. В итоге вышло так: фото разводки 1 фото разводки 2 ещё фотки разводки и схема.

Заказать детали для плеера и плату с завода предприятие, где я сейчас подрабатываю. В итоге я получил такую красоту: https://imgur.com/a/w70eH

И всё вместе собрал: https://imgur.com/a/paefn

Нооо... В разводке нашлись ошибки(не принципиальные, но всё же. Это была первая такая сложная плата). Но всё заработало просто великолепно! Даже играло музыку. Почти. Я забыл в схеме сделать фильтр на выходе кодека и допаял его сверху на самой плате. И видимо в результате отладки бедная микросхемка, наверное, сгорела(но лишь наполовину. По SPI она отвечает, говорит и даже, якобы, воспроизводит музыку, хотя на выходе тишина).

Но в итоге я очень расстроился и бросил это дело. Даже не записал ни одно видео работы =с

Я написал этот постик просто так, чтобы хоть где-нибудь было упоминание об этом проекте. Но я буду очень рад, если найдутся люди, которым понравилась эта идея и они готовы продолжить его со мной.

Все исходники: схемы, разводки(KiCad), программа для MCU(в Keil uVizion) и библиотеки лежат тут: https://github.com/SL-RU/sdmplayer

Спасибо за внимание.

 , , ,

SL_RU
()

Olimex open hardware laptop.

hOi!11

Слышали ли вы об опенсорсном ноутбуке от Olimex? Это очень интересный проект.

https://www.olimex.com/Products/DIY Laptop/

https://olimex.wordpress.com/2016/04/13/hackaday-slides-are-uploaded-on-slide...

https://olimex.wordpress.com/2015/12/01/help-day-recap/

https://olimex.wordpress.com/2015/11/05/a64-olinuxino-oshw-64-bit-arm-diy-lap...

Вот ссылки по этому проекту. Выглядит аппетитно, не так ли?

Но, к сожалению, обновлений не было довольно долгое время, поэтому решил написать в поддержку. Вот результат: http://i.imgur.com/6nDuCMh.png

Идею не бросили =DDDD И более того - скоро опубликуют готовое устройство! И будет оно доступно по очень привлекательной цене: 200 евро!

Что вы думаете об этом? Купите?

 , , ,

SL_RU
()

OpenWRT разделить вайфай сеть на две

Сап, лор.

У меня на квартиру один роутер, к которому подключён сервер и по вайфай подключены все домашние компы и прочее. Иногда приходят гости, которых тоже нужно подключать к вифи.

Всё это очень неприятно делать, зная что они могут хотя бы потрогать мой сервер.

Опенврт позволяет сделать две вайфай сети с одного устройства. И это работает, но вторая сеть просто дублирует первую - та же зона, те же интерфейсы и тд

Как можно разделить всё так, чтобы с одной вайфай сети был доступен только интернет, а с другой интернет и сервер? Никто так уже не извращался?

//понимаю, что тут нужно делать всё иначе, но мани.

 , , ,

SL_RU
()

PLZ, нужно репаблишить один Firefox аддон TabFlip

Хелло, лор.

После года службы прошлая система совсем разжирела и я её переставил. Всё отлично, но столкнулся с одной проблемой - ЛУЧШАЯ ДОПОЛНЕНЬКА ДЛЯ ФАЕРФОКСА ИСЧЕЗЛА ИЗ МАРКЕТА.

Называлась она TabFlip и позволяла перелистывать вкладки, нажимая правую кнопку мыши и совершая горизонтальное перемещение курсора. Без этого дополнения я просто не могу представить комфортный браузинг, да и не я один.

На реддите такие же люди, как и я, были в шоке от исчезновения этого чуда - выяснилось, что автор просто так убрал его - без причины.

С трудом я откопал сам файл дополнения. Скачать можно тут: https://yadi.sk/d/zLcmEieDsYeGb

Но там какие-то проблемы с подписями, судя по официальной фирефокс вики - нужно чёт установить, получить подписи разработчика и кучу другой непонятной фигни. Мне совсем не хочется всем этим заниматься =с

Но я уверен, что на лоре есть люди, которые опубликовали в фирефокс не одно дополнение, поэтому ПРОШУ, перезалейте бедный TabFlip в маркет, пожалуйста111 =ссс Множество людей будет вам благодарно.

Спасибо

 , ,

SL_RU
()

i3-nagbar on primary screen

Сап, лурк. Сегодня купил третий монитор, настроил и всё норм.

Но уведоления i3-nagbar выводяцца не на основной монитор, а на самый левый(ну т.е. в позицию 0;0).

В мануалах ничего про это не сказано =С

Можж кто-нить знает, как решить?

 , ,

SL_RU
()

Мистика или моя любимая федорочка заболела?

Здрасте!

Зашёл сегодня в роутер, чтобы зафорвардить новый портик и случайно зашёл в раздел статистика. Прошивка на роутере стоит Gargoyle.

Вижу, что с моего компа секунд десять назад было соединение с s.youtube.com. НО Я НЕ ЗАХОДИЛ НА ЮТУБ ДНЯ ДВА! ЧЁТ ПАДАЗРИТИЛЬНА. Проги открыты ток nemo, emacs, tox, torrent и thunderbird, а в фирефоксе ток новая вкладка и web панелька роутера.

Хммм. Сначала я закрыл все проги, кроме ФФ. Всё равно.

Затем я отключил в ФФ все дополнения, а то фдруг. Но ничего! Так же c периодичностью в одну минуту устанавливаецца соединение с s.youtube.com и r3---sn-gvnuxaxjvh-ut5e.googlevideo.com. И больше ничего с моего хоста не происходит.

Ни в моём конфиге i3wm, ни в автобуте или гдет ещё я не писалл ничего подобного.

НО ШТАААА?777

ЛОР, хелпми, откуда мне начать рыть? Ботнет ли это? Или проделки Поттеринга и Обамки77?

 , , , ,

SL_RU
()

Посоветуйте электронную книжку

Сап, хочется электронную E-Ink книжечку. Но я так поискал... Везде что-то ну совсем никак: кинделы, которые показывают рекламу, другие, которые совсем ничего не могут(даже в ФС), и миллиарды китайцев с ужасным ПО и железом.

А мне хочется чего-нибудь более человеческого. Чтобы я имел возможность писать программки для книжек, не было никаких защит и прочего, интернетов не было - нормальную электронную книжку.

Вот раньше у меня был LBook, который я успешно разбил. Так там я мог свою прогу написать и запустить без траблов. А во встроенном проводнике дойти до корня системы или в любое другое место. А по jtag даже зайти в консольку!

Вот хочется чего-нибудь подобного, только с современным HW. Не подскажите ли?

 , , ,

SL_RU
()

Ростелеком и port forwarding

Хелло!

Вчера настроил на своём Odroid C1+ git сервер GoGS. Всё отлично работает в локальной сети. Затем в роутере настроил проброс порта(используется порт 3000) и всё работает через инет(IP динамический, но использую DDNS). И всё заработало. Сайт под адресом http://lyra.flutterpony.org:3000/ открылся через мобильную сеть.

На следующий день через универский вифи захотел посмотреть, как там новый сервер работает. Но он был не доступен.

«Упал, а жаль.» - подумал я.

Но он не упал. Придя домой я успешно его достал по локальному адресу. Попытался зайти снова через интернет, но безуспешно. Так же перестали быть доступны другие серверы, которые я раньше мог достать из www.

Начал копаться с роутером(на dd-wrt) - безуспешно. Раз десять переписал iptables, настраивал через веб гуй и по-разному. Но никак.

Но на самом деле роутер работал и форвардил верно. Интернет кабель у меня подключен к простейшему свитчу, а оттуда уже к ТВ-приставке и к роутеру. Если заходить не на адрес odroida в локальной сети, а на адрес роутера на уровне свитча, то всё тоже работает отлично. Все пакеты проходят через роутер - всё форвардится превосходно(если форвард отключить, то гогс по этому адресу будет не доступен).

Поэтому я решил, что это проблемки не с моей строны, а это мой любимый провайдер - Ростелеком - делает что-то плохое.

Люди, подскажите, что тут может быть?

 , , ,

SL_RU
()

Shotwell - жив или того?

Я запутался.

Последнее обновление было уже оч давно. Что происходит с этим замечательным проектом сейчас?

 

SL_RU
()

Цифровой осциллограф. Посоветуйте.

Сап, лор!

Уверен, среди вас есть электронщики. Поэтому прошу у вас совета в выборе данного прибора.

У меня сейчас ещё советский самый примитивный ОМЛ-2-76. Но в последнее время его возможностей стало чрезвычайно не хватать. А именно меня беспокоит отсутствие возможности записи сигнала, не говоря о возможности его дальнейшей постобработки и анализа.

Так что посоветуйте мне недорогой(в пределах 10 к) цифровой осциллограф с возможностью работы под линухом с открытым софтом.

А будет вообще замечательно, если можно будет работать с системой GNU/Radio.

P.S. У меня была идея взять hackRF юзать её как осциллограф. Но что-то сомневаюсь.

Подскажите.

 , ,

SL_RU
()

Блог для проектов

Сап, лор!

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

Вконтактик, фэйсбук, твиттир - не годяцца. ЖЖэшочку тоже не хочу.

Ваши предложения?

 ,

SL_RU
()

Что лор думает о fish shell

Годно или нинужно?

 

SL_RU
()

Переключение раскладки по Caps Lock и замена Caps Locka и Cntrla местами

Хей, лор!

Жил я долго и счастливо. Было у меня переключение раскладки клавиатуры по Капслоку и пользовался я emacs'ом. Но в один прекрасный день мизинец начал жестоко болеть и я подумал, а не поменять ли мне что-нибудь.

Переключение раскладки было сделано так: setxkbmap "us,ru" ",winkeys" "grp:caps_toggle".

Решил я поменять местами клавиши контрол и капслок. В интернетах сразу же нашёл решение: setxkbmap -option "ctrl:swapcaps".

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

Может быть вы знаете, как мне достигнуть желаемого?

 , , ,

SL_RU
()

СПО и вузы

Вот закончил я школу. Выбираю вузы. Поглядел я вокруг и ужаснулся: кругом одна проприетарщина. То про САПР, то ИДЕ, то пакеты для моделлинга проприетарные! Как так можно жить!

Тащемта вопрос: Не подскажете вуз, в котором при обучении юзают исключительно швaбодное ПО?

PS Собстна ясно, что говорю я об айтишных и технических вузах.

 , ,

SL_RU
()

setxbmap не работает при запуске в .xsessionrc

Система: Ubuntu 14.04

Оконный менеджер: i3wm

Логинменеджер: lightdm

Содержимое ~/.xsessionrc

#!/bin/sh
exec setxkbmap "us,ru" ",winkeys" "grp:caps_toggle" & 

i3 запускается нормально. Когда нажимаю CapsLock, то срабатывает CapsLock, но раскладка не меняется. Так же не меняется при любых других сочетаниях клавиш.

Если после запуска i3 ввести в консольке setxkbmap "us,ru" ",winkeys" "grp:caps_toggle". То переключение по Капсу работает нормально.

Так же пытался писать эту команду в конфиг i3, но тот же результат. Ещё нулевой результат, когда писал конфиг в /etc/default/keyboard

В чём может быть дело? Гуглёжка не дала результатов.

 ,

SL_RU
()

OpenWRT. Пробросить порт.

Здрасте!

Появилась такая необходимость. Роутер тп-линк. Прошивка - OpenWRT.

Пытаюсь через веб интерфейс. В Port forwards добавляю новый форвардинг. Екстернал порт ставлю, внутренний ип и внутренний порт тож. Сохраняю и применяю изменения.

Затем пытаюсь подключится, но не выходит. Пишет ENDTIMEOUT.

Как можно пробросить порт, подкажите?

 

SL_RU
()

Настройка с мыши Logitech Zone Touch Mouse T400

Эта мышь не совсем обычна. Вместо колёсика у неё сенсорная поверхность. Она на ЯМаркете.

Помимо того, что колёсико заменено тачем, при помощи которого можно скроллить вертикально и горизонтально, посередине у неё аж две кнопки(ну те помимо щелка средней кнопки есть ещё одна). По дэфолту нижняя средняя кнопка - SUPER_L, а верхняя - обыкновенный щелчок средей мышью. Это ужасно раздражает. Евента SUPER_L нет в xinput шыши. Его не переназначить xinput'ом. Что посоветуете?

Так же скорость скролла мыши слишком большая. Как уменьшить её?

( Вывод xinput list-props )

( Вывод xinput query-state )

 , , ,

SL_RU
()

RSS подписка на новые темы