Media is too big
VIEW IN TELEGRAM
Вот таким образом можно итерировать строку посимвольно.
Этот код будет очень часто повторяться внутри библиотеки, поэтому нужно придумать, как его вынести в виде самостоятельной функции и использовать.
ссылка на канал | ссылка на группу
Этот код будет очень часто повторяться внутри библиотеки, поэтому нужно придумать, как его вынести в виде самостоятельной функции и использовать.
ссылка на канал | ссылка на группу
Я пока ещё только учусь, чтобы официально стать полноценным junior разработчиком, но мне недавно предложили одно дело...
Нужно разработать графическую программу для работы с устройством.
Техническое задание сложное, но интересное, но и всё и сразу не требуют делать.
Прототип, с которым я буду работать, мне уже пришёл.
Пожелайте мне удачи и успехов с моим первым серьёзным проектом).
ссылка на канал | ссылка на группу
Нужно разработать графическую программу для работы с устройством.
Техническое задание сложное, но интересное, но и всё и сразу не требуют делать.
Прототип, с которым я буду работать, мне уже пришёл.
Пожелайте мне удачи и успехов с моим первым серьёзным проектом).
ссылка на канал | ссылка на группу
👍7
1 часть
2 часть
vs code это редактор кода с поддержкой плагинов.
Для работы с C++ нужно установить C/C++ дополнение, отдельно скачать и установить компилятор, потом создать конфиги в папке проекта.
Я хотел поэкспериментировать с настройкой конфигов, поэтому создал пустой проект без них с единственным файлом main.cpp.
В пустом проекте почему-то исходный код успешно компилировался и отлаживался, хотя я ещё ничего не настраивал, я даже не указывал путь до компилятора нигде.
Мне это показалось слишком странным, поэтому я решил копнуть глубже.
Оказалось, что отладчик неявно ищет путь к известным компиляторам в переменных среды (PATH).
У меня в PATH как раз был указан путь к моему компилятору gcc.
Я эту строчку удалил, чтобы узнать, что произойдёт дальше.
После этого отладчик сообщал об ошибке
ссылка на канал | ссылка на группу
2 часть
vs code это редактор кода с поддержкой плагинов.
Для работы с C++ нужно установить C/C++ дополнение, отдельно скачать и установить компилятор, потом создать конфиги в папке проекта.
Я хотел поэкспериментировать с настройкой конфигов, поэтому создал пустой проект без них с единственным файлом main.cpp.
В пустом проекте почему-то исходный код успешно компилировался и отлаживался, хотя я ещё ничего не настраивал, я даже не указывал путь до компилятора нигде.
Мне это показалось слишком странным, поэтому я решил копнуть глубже.
Оказалось, что отладчик неявно ищет путь к известным компиляторам в переменных среды (PATH).
У меня в PATH как раз был указан путь к моему компилятору gcc.
Я эту строчку удалил, чтобы узнать, что произойдёт дальше.
После этого отладчик сообщал об ошибке
Unable to start debugging. The value of miDebuggerPath is invalid
ссылка на канал | ссылка на группу
1 часть
2 часть
Хорошо, решение этой проблемы довольно простое.
Я создал launch.json и написал минимально необходимый конфиг, а главное
Теперь при отладке ошибка стала другой:
С такой ошибкой я ещё ни разу не сталкивался, она сбила меня с толку.
Спустя некоторое время поисков, я не нашёл решения для моей ошибки.
Тогда я решил поискать похожие проблемы не по тексту ошибки, а коду 0xc0000135.
И о чудо, на github уже кто-то сталкивался с таким кодом ошибки.
Оказалось, что отладчик просто не может найти DLL необходимые программе С++ библиотеки, которые обычно лежат в папке с компилятором или в c:/windows/system32.
Изменил current working directory
Изменять текущую рабочую папку программы не самая лучшая идея, это костыль, из-за этого могут происходить самые разные и неочевидные проблемы.
Так и оказалось, когда я попробовал создать файл test.txt, он создался в папке с компилятором, а не рядом с main.exe.
Есть правильных 2 решения:
1) в настройках windows добавить в PATH путь до компилятора.
2) временно изменить PATH через конфиг.
Так как я сторонник portable программ, которые работают без установки и изменения реестра, я выбрал для себя 2 решение.
ссылка на канал | ссылка на группу
2 часть
Хорошо, решение этой проблемы довольно простое.
Я создал launch.json и написал минимально необходимый конфиг, а главное
"miDebuggerPath": "D:/gcc/bin/gdb.exe".Теперь при отладке ошибка стала другой:
ERROR: Unable to start debugging. Unexpected GDB output from command "-exec-run". During startup program exited with code 0xc0000135.С такой ошибкой я ещё ни разу не сталкивался, она сбила меня с толку.
Спустя некоторое время поисков, я не нашёл решения для моей ошибки.
Тогда я решил поискать похожие проблемы не по тексту ошибки, а коду 0xc0000135.
И о чудо, на github уже кто-то сталкивался с таким кодом ошибки.
Оказалось, что отладчик просто не может найти DLL необходимые программе С++ библиотеки, которые обычно лежат в папке с компилятором или в c:/windows/system32.
Изменил current working directory
"cwd": "${workspaceFolder}" на "cwd": "D:/gcc/bin/", у меня всё заработало.Изменять текущую рабочую папку программы не самая лучшая идея, это костыль, из-за этого могут происходить самые разные и неочевидные проблемы.
Так и оказалось, когда я попробовал создать файл test.txt, он создался в папке с компилятором, а не рядом с main.exe.
Есть правильных 2 решения:
1) в настройках windows добавить в PATH путь до компилятора.
2) временно изменить PATH через конфиг.
Так как я сторонник portable программ, которые работают без установки и изменения реестра, я выбрал для себя 2 решение.
"environment":
[
{
"name": "PATH",
"value": "%PATH%;D:/gcc/bin/"
}
]
ссылка на канал | ссылка на группу
🔥1
В последнее время с настроением у меня совсем беда.
Нет сил и желания заниматься даже программированием.
Наверное, это называется выгорание.
Надеюсь, arduino сможет вернуть мне настрой снова творить).
Заказал с Китая:
arduino nano v3 type-c
макетную плату
соединительные провода
20 RGB светодиодов
100 резисторов на 220 Ом
5 потенциометров на 10 кОм с ручкой
ссылка на канал | ссылка на группу
Нет сил и желания заниматься даже программированием.
Наверное, это называется выгорание.
Надеюсь, arduino сможет вернуть мне настрой снова творить).
Заказал с Китая:
arduino nano v3 type-c
макетную плату
соединительные провода
20 RGB светодиодов
100 резисторов на 220 Ом
5 потенциометров на 10 кОм с ручкой
ссылка на канал | ссылка на группу
👍2
А вот уже правильная сетка с размером клетки 20px.
Код этого проекта после маленького рефакторинга выложу на github.
ссылка на канал | ссылка на группу
Код этого проекта после маленького рефакторинга выложу на github.
ссылка на канал | ссылка на группу
За такой говнокод в обучающих видео надо по рукам бить.
Почему автор не создал массив байтов, где каждый бит отвечает за сегмент индикатора, а индексом которого была бы желаемая цифра минус 1?
Не походили массивы?
А почему вы вообще пишите программу на Си/С++, не зная основных языковых конструкций?
ссылка на канал | ссылка на группу
Почему автор не создал массив байтов, где каждый бит отвечает за сегмент индикатора, а индексом которого была бы желаемая цифра минус 1?
Не походили массивы?
А почему вы вообще пишите программу на Си/С++, не зная основных языковых конструкций?
ссылка на канал | ссылка на группу
🔥1
Media is too big
VIEW IN TELEGRAM
Не знаю в чём причина, но при масштабировании графика синуса, упорядоченные точки превращаются в хаос, а потом снова упорядочиваются).
ссылка на канал | ссылка на группу
ссылка на канал | ссылка на группу
https://github.com/A248640/projectTemplate
Разобраться самостоятельно с первого раза с vs code сложно.
Я сам много раз пытался, но ничего не получалось и я заканчивал попытки.
Поэтому я сделал шаблон проекта с минимальным набором настроек, чтобы было проще начинающим.
Вам понадобится только компилятор, vs code и мой шаблон проекта.
У вас будут работать: подсветка синтаксиса, подсказки, компиляция и отладка кода.
Если интересно, как с нуля установить компилятор, установить и настроить vs code, создать и настроить решение, я могу создать понятную и простую инструкцию или видео.
Обновлённая версия
ссылка на канал | ссылка на группу
Разобраться самостоятельно с первого раза с vs code сложно.
Я сам много раз пытался, но ничего не получалось и я заканчивал попытки.
Поэтому я сделал шаблон проекта с минимальным набором настроек, чтобы было проще начинающим.
Вам понадобится только компилятор, vs code и мой шаблон проекта.
У вас будут работать: подсветка синтаксиса, подсказки, компиляция и отладка кода.
Если интересно, как с нуля установить компилятор, установить и настроить vs code, создать и настроить решение, я могу создать понятную и простую инструкцию или видео.
Обновлённая версия
ссылка на канал | ссылка на группу
🔥1
Media is too big
VIEW IN TELEGRAM
Написал прошивку для микроконтроллера, написал программу на c++ для пк и соединил их при помощи последовательного порта и своего стандарта общения.
Сетка теперь пожирнее и абсолютно идеальная).
Слайдеры в будущем эти превратятся в нормальные графики.
Когда-нибудь я напишу свою лёгкую библиотеку или framework, чтобы писать такие приложения в своём стиле быстрее и удобнее.
ссылка на канал | ссылка на группу
Сетка теперь пожирнее и абсолютно идеальная).
Слайдеры в будущем эти превратятся в нормальные графики.
Когда-нибудь я напишу свою лёгкую библиотеку или framework, чтобы писать такие приложения в своём стиле быстрее и удобнее.
ссылка на канал | ссылка на группу
Media is too big
VIEW IN TELEGRAM
Ух, давно я не писал такой говнокод, это просто ужас, на мой код даже мне страшно смотреть).
Зато работает).
Ещё бы разобраться с помехами с последовательного порта.
Иногда очень резкие пики на графике появляются.
ссылка на канал | ссылка на группу
Зато работает).
Ещё бы разобраться с помехами с последовательного порта.
Иногда очень резкие пики на графике появляются.
ссылка на канал | ссылка на группу
Media is too big
VIEW IN TELEGRAM
Как жаль, что я не доделал свою строковую библиотеку, она бы очень сильно упростила написание программы и прошивки.
ссылка на канал | ссылка на группу
ссылка на канал | ссылка на группу
В будущем я буду хранить все настройки проекта в файле конфига.
Для решения этой задачи есть множество уже готовых библиотек, которые позволяют парсить и редактировать такие файлы, но мне интересно реализовать это самому в дополнение к своей строковой библиотеке.
Это как-никак алгоритмы, а я очень люблю писать алгоритмы).
Что скажете о таком виде?
Пока не могу определиться каким префиксом делать комментарии.
Формат записи данных хочу сделать в стиле C++.
Так же можно будет для самых хитрых шифровать конфиг и где-то хранить контрольную сумму.
И в случае повреждённого конфига или кем-то отредактированного, то есть при не соответствии контрольной суммы, просто удалять или делать конфиг по-умолчанию, или выводить предупреждающее сообщения.
ссылка на канал | ссылка на группу
Для решения этой задачи есть множество уже готовых библиотек, которые позволяют парсить и редактировать такие файлы, но мне интересно реализовать это самому в дополнение к своей строковой библиотеке.
Это как-никак алгоритмы, а я очень люблю писать алгоритмы).
Что скажете о таком виде?
Пока не могу определиться каким префиксом делать комментарии.
Формат записи данных хочу сделать в стиле C++.
Так же можно будет для самых хитрых шифровать конфиг и где-то хранить контрольную сумму.
И в случае повреждённого конфига или кем-то отредактированного, то есть при не соответствии контрольной суммы, просто удалять или делать конфиг по-умолчанию, или выводить предупреждающее сообщения.
ссылка на канал | ссылка на группу