Size: a a a

2021 April 27

VB

Vladimir Berezenko in ru.nim.talks
:)
источник

ᴅ_ᴍᴇɴᴛ in ru.nim.talks
+
источник

g

gavr in ru.nim.talks
в ниме есть древовидная коллекция, такая же как у каталогов?
источник
2021 April 28

g

gavr in ru.nim.talks
или либа
источник

A

Alexander in ru.nim.talks
rb я точно видел, но давно. не в std
источник

З/

Зелёный /4Y/ in ru.nim.talks
А теперь интересно, почему многие до сих пор пользуются 2019 LTS, когда уже есть 2020 LTS? Только я как дебил начал пользоваться «стабильной» 2021 и пожалел.
Каждый новый «стабильный» релиз делает Юнити менее стабильным. И тут проблема именно разработчиков, а не сложности разработки. Они добавляют какие-то вещи, которые допиливают только через несколько лет. Если конечно не вырезают их совсем, потому что разработчик, который их пилил уволился.
источник

З/

Зелёный /4Y/ in ru.nim.talks
Точно также и в коде. Документация Юнити иногда призывает писать говнокод, неправильно оформлять код и делать ещё целую кучу неправильных вещей.
источник

I

Igor in ru.nim.talks
Тебе на каком уровне (любительский типа Ардуино или профи) и насколько мелкие чипы интересуют (две большие разницы пытаться впихнут nim с RTL в чип с 32kb flash и 4kb ram или например esp32 с 520kb ram и до 16мб flash. Сильно разные подходы получаются.
источник

J

John in ru.nim.talks
Сейчас любительский – управление пинами (просто вывод, 1 или 0), считывание состояний (тоже просто регистрация высокого или или низкого уровня, для кнопок), ADC и таймер. Больше ничего не нужно.

Микроконтроллер как раз с ограниченными ресурсами – 32 Кб памяти и 4 Кб оперативки.
источник

J

John in ru.nim.talks
Микроконтроллер – lpc804.
источник

I

Igor in ru.nim.talks
Чип lpc804 для любительства не очень подходящий, рекомендую stm32 например stm32f103cb (stm32f103c8 на алике плата называется blue pill, с stm32 в целом столкнешься с теми же проблемами но хотя бы чипы более мощные и более распространные), если не стоит цель освоить именно этот чип я бы с любительскими целями к нему не подходил (мало памяти, 15 мегагерц это смешно, не самый распространенный среди любителей, если потом пускать в серию сразу смотри цену опта). Быстрый поиск показал что arduino и mbed его не поддерживают, а значит придется разбираться с HAL от производителя.
Если все же попробуешь вот вещи которые пригодятся:
Kaк создавать обертки C библиотек:
https://livebook.manning.com/book/nim-in-action/chapter-8/39

Когда будешь возится с компилятором пригодится подмена линкер и компилера на gcc arm:
nim --gcc.exe:arm-none-eabi-gcc --gcc.linkerexe:arm-none-eabi-gcc --passL:-static c src/app.nim
или в nim.cfg:

arm.standalone.gcc.exe="arm-none-eabi-gcc"
arm.standalone.gcc.linkerexe="arm-none-eabi-gcc"
источник

I

Igor in ru.nim.talks
По stm32 можно глянуть https://github.com/mwbrown/nim_stm32f3
По avr:
здесь описано как редакторовать nim.cfg для добавления нового компилятора (avr)
https://disconnected.systems/blog/nim-on-adruino
источник

I

Igor in ru.nim.talks
Еще на подумать над ключами компилера:
https://nim-lang.org/docs/nimc.html#nim-for-embedded-systems
источник

J

John in ru.nim.talks
Этот чип используется уже в проекте. Любительским назвал его скорее из-за простоты самого проекта. А так да, чип не очень популярный. За ссылки спасибо, изучу. А что-нибудь по написанию с нуля, используя регистры есть? Скорее всего это сложно, но тоже интересно было бы почитать, если кто-то на nim с этим практиковался.
источник

J

John in ru.nim.talks
Кстати, недавно слышал orc вышел. Его стоит вместо arc попробовать?
источник

I

Igor in ru.nim.talks
Я на stm32 arc использовал, Picheta на esp8266 тоже arc использовал. Но и там и там Ram дофига, у тебя же 4кб. Крайне желательно все крупное статически создавать на старте устройство и никогда не уничтожать.
мой nim.cfg:
--gc:arc
--define:useMalloc
#removed --exceptions:quirky

#removed -d:nimEmulateOverflowChecks
-d:noSignalHandler
--noMain
--stackTrace:off
--genScript
--cpu:arm
#me removed --os:any
--compileOnly

######## add
-d:release
-d:danger
--deadCodeElim:on
#--os:standalone  cleaned alot of code in stdlib_system.nim.cpp
--os:standalone
# --overflowChecks:off with option removed emulation of mul operation
--overflowChecks:off
источник

G

Gabben in ru.nim.talks
orc для циклических структур
источник

g

gavr in ru.nim.talks
arc нулевой рантайм, но циклические ссылки никто не освободит, только если ты это не учел и не сделали одну из них weak, orc это arc но по ссылкам шагает паук и освобождает зависшие циклические
источник

I

Igor in ru.nim.talks
Компилировать так чтобы в итоге получить cpp и h для добавления в проект (подразумевается что у тебя есть проект на cpp который основной и подключает hal от производителя):
nim cpp --nimcache:nim_output --header:h_files/main_nim.h src/main_nim.nim
в директорию nim_output  закинет транспилированный в cpp код твоего nim файла
источник

J

John in ru.nim.talks
У меня hal на Си. Nim же и в Си может, проблем не должно быть по идее.
источник