ПО КБ РАДАР ⚛️ Atom Spectra
رفتن به کانال در Telegram
Используйте Поиск по каналу, чтобы найти актуальную версию приложений Atom Spectra, Atom Swift, Atom Next, Atom Mini2 для PC windows, Atom Simple. Свои предложения разработчику Вы можете оставить в комментариях к последней версии программы.
نمایش بیشتر831
مشترکین
+124 ساعت
+37 روز
+830 روز
آرشیو پست ها
#Becqmoni 👾
📌 𝗥𝗲𝗹𝗲𝗮𝘀𝗲 𝗡𝗼𝘁𝗲𝘀
🔧 Улучшения и исправления
🔹 AtomSpectra VCP
• Исправлена работа с устройствами AtomSpectra VCP.
• Улучшено переиспользование уже открытого COM-порта.
• Добавлено безопасное создание временных экземпляров устройства.
• Исправлена очистка временных подключений.
• Снижена вероятность конфликтов при одновременной работе с несколькими экземплярами устройства.
🔹 Формы устройств ввода
• Улучшена стабильность форм устройств ввода.
• Добавлены проверки на null для активной конфигурации устройства.
• Исправлены потенциальные ошибки при открытии и закрытии форм без активного устройства.
• Добавлены корректные конструкторы для WinForms-форм.
🔹 Обнаружение пиков
• Исправлена панель обнаружения пиков.
• Добавлены проверки отсутствующего документа, результата измерения, конфигурации устройства и метода поиска пиков.
• Таблица пиков теперь корректно очищается вместо падения при некорректном состоянии данных.
🔹 Энергетическая калибровка
• Улучшена энергетическая калибровка.
• Синхронизирована RadiaCode-калибровка при изменении, сбросе и пересчёте коэффициентов.
• Улучшена работа выпадающего контрола калибровки.
🔹 FWHM Peak Detection
• Оптимизированы и исправлены алгоритмы FWHM peak detection.
• Переработано построение kernel matrix.
• Снижены лишние аллокации за счёт ArrayPool.
• Улучшена обработка граничных каналов спектра.
• Исправлена сортировка и ограничение результатов поиска пиков.
🔹 Аудио-ввод и вывод
• Улучшена работа аудио-ввода и аудио-вывода.
• Переработана логика буферизации WaveIn / WaveOut.
• Исправлена обработка отключения аудиоустройства.
• Снижена вероятность зависания в циклах обслуживания буферов.
🔹 BLE RadiaCode
• Улучшена работа BLE RadiaCode.
• Исправлена повторная подписка на событие Watcher_Received.
• Обработчик теперь снимается перед повторным добавлением и при остановке discovery.
🔹 WinForms UI
• Проведён большой WinForms-рефакторинг.
• Логика пользовательских контролов вынесена из .Designer.cs в обычные .cs-файлы.
• Улучшена совместимость с WinForms Designer.
• Переработаны ColorComboBox, StatusMessage, PulseView, StandardPulseView, ROI-контролы и связанные элементы интерфейса.
🔹 Локализация и ресурсы
• Очищены русские .resx от лишних дизайнерских записей.
• Переименованы японские имена элементов управления в читаемые английские идентификаторы.
• Уменьшен шум в ресурсных файлах и повышена поддерживаемость UI.
🔹 Служебные файлы проекта
• Добавлен *.csproj.user в .gitignore.
• Удалён пользовательский файл BecquerelMonitor.csproj.user из репозитория.
+ самое главное:
за счёт интересного решения производительность поиска пиков выросла в 21 раз. 😂😂
+ Долг от стародавних времён декомпилирования: всё формы и компоненты UI теперь работают в Дизайнере.
#Becqmoni 👾
Небольшое добавление, не релиз.
При коммите в github настроен github actions, чтобы он сам собирал сборку из исходников и сам публиковал её в секции "Current version" (в самом верху)
Поэтому я теперь не занимаюсь выкладыванием сборок на github.
Тут. https://github.com/Am6er/BecqMoni/releases
#AtomSpectra
Релиз на основе https://t.me/software_kbradar/719
Теперь по умолчанию для обработки спектра все данные из PRO спектрометра должны быть переданы без потерь. Есть опция работать как раньше.
#AtomSpectra
Тестовая версия для PRO спектрометров.
Теперь по умолчанию программа не обрабатывает спектры, при передаче которых произошла потеря данных (есть настройка вернуть как было и такие спектры обрабатывать). Если три спектра подряд пропущено - сообщение на экране.
Техническая информация: в процессе набора USB PRO спектрометр постоянно передает данные по последовательному порту. Передача идет пакетами и включает в себя разбитый на фрагменты спектр (по N каналов), информацию о времени набора, скорости счета и пр. При длительной работе в зависимости от загрузки Android и других факторов может происходить потеря некоторых пакетов. Это приводит к тому, что в некоторый момент времени t мы видим спектр, часть фрагментов которого не была принята из спектрометра. Как правило, в момент времени t+1 потерянная часть спектра принимается из прибора и корректно отображается. В большинстве случаев несущественная потеря фрагментов незаметна для пользователя, но это влияет на подсчет мощности дозы и спектрограммы.
#AtomSpectra
Исправление для редкого случая, когда данные из PRO спектрометра перестают приходить в течении некоторого времени и происходит попытка перезапуска потока данных.
#AtomSwift ☣️ TEST!
Объявляется тестирование.
Нужно проверять абсолютно всё. Потому как:
- SDK обновлён до 37-го (Android 17) 🏆 (максимальный SDK на сегодняшний день)
- проведена массивная ГЕНЕРАЛЬНАЯ уборка старых классов и методов с заменой на новые эквиваленты из нового SDK.
- остался ряд мест, где нужно "сидеть на двух стульях" (поддерживать старые андроиды и новые), но это не считается deprecated, это необходимость. Но работа на новых телефонах идёт по новому коду, на старых телефонах - по старому. 🤯
- Самое сложное: произведена миграция с устаревших методов BLE стека на полностью асинхронный лад и выставлены максимально агрессивные политики по подключению, поиску, переподключению. ЭТОТ МОМЕНТ ДЕРЖАТЬ ПОД ОСОБЫМ ФОКУСОМ!
"Как поставится тест?":
В настройках приложения переключаемся на канал обновлений ТЕСТ, жмём кнопку проверить обновление и обновляемся.
После установки идём в настройки и кликаем на номер версии приложения. Там должен быть соответствующий текст, как в шапке на картинке.
"Задолбало, как откатиться?":
В настройка идём и выбираем канал обновлений Релиз, жмём кнопку проверить - обновляемся.
P.S. тестировать нужно всеми устройствами, тестировать нужно ВСЁ!!
UPD 10:00 05.06.2026
Откат части изменений в работе по BLE с точки зрения агрессивности поведения.
Фикс 2-х багов по невыданным правам из Crashlytics.
UPD 14:!5 05.06.2026
Исправлено несколько багов с подключением, отключением устройства BLE по новым правилам SDK.
Полностью добито всё deprecated.
UPD 19:18 05.06.2026
Обновлена тестовая версия, мелкие исправления в части UI, исправления в части поиска устройств, и так далее.
Небольшая плюшка - можно задать имя прибору (до 20 символов ASCII) это имя запишется в Фаст/Свифт.
UPD 08.06.2026
Исправлены типы dimensions у экранных форм.
Переделаны параметры BLE подключения согласно тесту Дмитрия, добавлен таймаут подключения.
#AtomSwift ☣️☣️☣️
Про обновления.
Так как само приложение atomswift перешло на замкнутый цикл обновления. Смысла выкладывать в Telegram версии apk нет никакого.
В шапке на официальном сайте есть ссылка на скачивание самой последней версии, она обновляется автоматически, во время сборки релиза. Автодеплой.
https://ru.atomfast.net/get_atomswift - 🇷🇺🇧🇾
https://atomfast.net/get_atomswift - 🌍
Не имеет никакого значения, откуда вы скачаете релиз с одного или другого сайта. Это один и тот же файл.
Дальше, при каждом старте приложения (если выставлена галка) будет происходить автоматическая проверка новой версии.
Все описания к релизу теперь будут жить внутри приложения. Они автоматом отображаются при первом запуске новой версии или по нажатию на версию приложения в настройках.
Плюсы:
- Деплой новых автоматический.
- Уведомления приходят при старте приложения.
- Описания изменений всегда внутри приложения.
- Отвязаны от Телеграм, если он вдруг станет недоступным совсем.
Минусы:
- Немного не привычно, столько лет уже прошло.
- ... больше минусов не знаю.
Какие-то важные объявления, конечно, будут тут. Например координация тестирования, которое скоро начнётся, в связи с переездом на SDK 37 (Android 17).
Но выкладывание файлов точно уже маловероятно.
#AtomSpectra
Релиз на основе https://t.me/software_kbradar/709
1. исправление отображения при открытии спектра с помощью системного меню "открыть в AtomSpectra"
2. видимость последнего канала теперь не зависит от коэффициентов калибровки
3. переделан код получения данных от PRO приборов так, чтобы пакеты обрабатывались в отдельном от чтения потоке
#AtomSwift ☣️
Добавлен функционал автообновления приложения.
В настройках приложения внизу, там где номер версии появились дополнительные настройки:
- "Проверять обновления приложения при старте". По умолчанию - Включена. Что делает - понятно.
- "Выберите канал обновлений". По умолчанию - "Релиз". Доступные значения: "Релиз", "ТЕСТ". Выбирать ТЕСТ строго не рекомендуется, только если я вас попросил это сделать, или Вы учавствуете в тестировании какого-то функционала!!
- "Проверить обновление сейчас". Функциональная кнопка запуска проверки обновлений.
Соответственно, чтобы приложение могло поставить само себя, нужно дать ему разрешение на это.
Логика обновления (простая, как 3 копейки):
В зависимости от выбранного зеркала ru.atomfast.net/atomfast.net приложение лезет https://ru.atomfast.net/apk/latestRelease / https://ru.atomfast.net/apk/latestTest
Проверяет последнюю версию выложенную на сайте.
Это делается:
- при старте приложения (если выставлена галка проверять при старте)
- по нажатию кнопки
Если есть новая версия - выдаётся диалоговое окно, apk качается, проверяется что он не битый, запускается процесс установки.
Отдельная логика у канала обновлений TEST:
При нажатии на кнопку проверки обновлений если даже версии совпадают, выдаётся окно с предложением перезаписать существующую тест версию поверх.
Ну, вы поняли зачем. Для тестирования.
Upd 18.05
Небольшой фикс для тестового канала обновлений.
Upd 23.09
Немного UI обновлений, не влияющих на основной процесс. Даже вносить эти изменения в текст нет смысла, там небольшие улучшалки.
#AtomSwift ☣️
Облачные дела.
1. https://atomfast.net переехал с хостинга Godaddy на VPS в Hetzner.
2. Для РФ сделано отдельное зеркало https://ru.atomfast.net
Итого:
🇷🇺 —> https://ru.atomfast.net
🌍 —> https://atomfast.net
Теперь про релиз:
В настройках приложения в разделе Карты, добавлен выбор URL зеркала из двух значений, указанных выше. Значение по умолчанию: https://ru.atomfast.net дабы бОльшая часть пользователей ничего не делала.
#AtomSpectra
Продолжение https://t.me/software_kbradar/707
Исправлена проблема, когда в режиме калиброванного спектра видимость последнего канала зависела от коэффициентов калибровки.
Если он у вас не был виден, но появился и вам это не надо - в меню "калибровка" давно предусмотрена возможность его спрятать, поставьте 8191 или меньше.
В режиме каналов всегда отображается весь спектр как есть.
#AtomSwft ☣️
Итак, релиз тестовой версии.
В кратце:
Приложение переехало на SDK 36 (android 16) с 28-го и на Java 21 с 8-й.
Множественные изменения работы сервиса, UI, переход от SharedPreferences к androidx.compat, переделка работы с Fused, GPS. Сделан глобальный рефакторинг, убраны неиспользуемые классы.
Для понимания количества изменений - около 14000 строчек кода.
Поэтому инкремент с версии 1.4 до 1.5.
Всем спасибо, кто принимал активное участие в тестировании.
Отдельное спасибо @skyclam, который набабаклавил кучу багрепортов по основным фрагментам приложения! 🥳🍻
UPD 31.05.2025 13:54
Небольшой фикс на вкладке Архив в режиме YScale. Когда все значения для отображения одинаковые (например график температуры за небольшой интервал времени), нужно принудительно указать небольшой диапазон для масштаба, чтобы график не находился в самом низу экрана. Старый глич, не связанный с переходом на новый SDK (так было и до этого).
Не буду делать отдельным релизом, слишком минорное изменение + всегда есть WA (отключить YScale и назумить пальцами).
#AtomSpectra
Продолжение https://t.me/software_kbradar/705
Внесены правки по логам от Альберта
UPD: еще немного кода изменено, но в основном по части обработки исключительных ситуаций
#AtomSpectra
Тестовый релиз
1. Исправлен баг с отображением спектра при использовании функции системы "открыть файл в приложении AtomSpectra"
2. Убрано несколько устаревших и неактуальных настроек (АЦП, количество каналов)
3. Изменен код чтения данных из PRO устройств - код обработки последовательности байт из прибора вынесен в отдельный поток, чтобы меньше мешать потоку чтения этих самых байт
4. При ошибках CRC теперь пишется не только количество ошибок, но и коды сообщений от прибора, для которых эти ошибки возникли
В теории, это должно повысить стабильность чтения данных из PRO приборов - требуется проверка работоспособности и стабильности этого решения
#AtomSwift ☣️ TEST!!
Это тестовая версия. Нужно проверять стабильность. ОЧЕНЬ хорошо бы, чтобы это были Android 15 девайсы (у меня таких увы нет).
Итак:
SDK - 36 🥳🥳🥳
JDK - Java 21 🥳🥳🥳
Обновлены классы работы с location (GPS / FusedLocation) - проверяем, как оно на картах
Обновлена библиотека GoogleMapsServices
Обновлена библиотека работы с BLE до необходимой по JDK
Проверяем стабильность работы всего этого.
UPD 21.05.2026 22:39 MSK
Fixed:
- Верхняя граница исправлена
- Баг при картировании при переключении FusedLocationProvider <-> GPS
- Баг с новой логикой Fused под android 15-16
- Для android 15-16 убрана логика в настройках приложения Google Maps Renderer. Этого у них нет и он всегда LATEST. LEGACY - устранён тут.
- При выходе из приложения в android 15-16 не был выход полноценный, а был выход с кешированием повторного входа. Это поправлено. Выход теперь полноценный, даже если андроид этого не просил.
UPD2 22.05.2026 20:12
- кнопка Exit корректно закрывает приложение (полностью убивает процесс) и убирает его из списка недавних для Android 15-16.
- исправлено удаление маркера на карте после поворота экрана. thx2 @skyclam
- исправлены отступы и layout-insets на Android 15–16.
- ограничен и уточнён интервал обновления геолокации: теперь 100–2000 мс. По умолчанию 2000 мс (2 секунды - интервал получения данных с фаста)
- улучшена стабильность: добавлено корректное снятие listener-ов при остановке.
UPD3. 23.05.2026 10:31
Добавлен универсальный шлюз по жизненно важным пермишенам для приложения. Без них оно по новым требованиям андроида получает сразу kill от системы. Для пользователя это выглядит как "приложение упало". Вынужденный шаг, как ответная реакция.
Поэтому:
1.При начальном старте приложения будут отображаться запросы на разные пермишены. Если ключевые пермишены не будут получены. Пользователя не пропустят дальше в приложение. Логика такая - без этих пермишенов в приложении делать нечего. Не нравится - "Удоляй! :)"
2.Если пользователь попытается во время работы приложения забрать какой-то жизненно важный пермишен, его автоматом выкинет на этот шлюз обратно и не пустит по сценарию п.1
UPD 25.05.2026
1. Убрано уведомление о батарейке из вкладки "Сканирование устройств". Забыл перетащить.
2. Исправлена синхронизация UI в "Настройках устройства" когда происходило переключение на новый тип устройства (напр. АтомСпектра).
UPD 29.05.2026
Android 15/16. Исправлены цвета нотификаций при:
- динамической смене системной темы Дневная/Ночная
- Изменении в андроид 15 логики отрисовки картинки нотификации при ночной теме. Ранее (< 15) она зависела только от цвета обоев на экране смартфона (условные "белые" и "чёрные" обои)
