Мои программы
- Информация о материале
- Автор: Stalko
- Категория: Мои программы
- Просмотров: 1793
Функциональный генератор звуковых частот на базе звуковой карты
Описание: Программа написана мной для использовании при тестировании разрабатываемых устройств, не требовательных к стабильности частоты и форме сигнала.
Лицензия: Бесплатная, свободная для распространения. Исходный код не предоставляется. Модификация программы на бинарном уровне запрещена.
Ссылка на скачивание находится в нижней части страницы.
Программа позволяет использовать Вашу звуковую карту в качестве простого функционального генератора.
При использовании программы Вы должны отдавать себе отчет, что она неспособна конкурировать с полноценными генераторами функций, как минимум потому, что звуковая карта изначально не является достаточно точным прибором и имеет свою специфичную АЧХ. Именно поэтому в программе отсутствует регулировка амплитуды сигнала. Для регулировки (да и вообще) рекомендую использовать активные колонки, которые и защитят выход Вашей звуковой карты от перегрузки, и обеспечат амплитуду (мои позволяют "выжать" 5 вольт), и позволят регулировать амплитуду сигнала.
Также заметил, что сигнал имеет разную степень искажения, если снимать его с "морды" компьютера, или в задних выходов.
Поэтому, в любом случае, оптимальным было бы в самом начале подобрать оптимальную в Вашем случае конфигурацию, пользуясь осциллографом.
- Информация о материале
- Автор: Stalko
- Категория: Мои программы
- Просмотров: 1198
Универсальный тестер обмена с HID-устройствами
Описание: Программа написана мной для тестирования и отладки разрабатываемых мной HID-устройств на первых этапах, до написания ориентированной на конкретное устройство тестовой программы.
Лицензия: Бесплатная, свободная для распространения. Исходный код не предоставляется. Модификация программы на бинарном уровне запрещена.
Ссылка на скачивание находится в нижней части страницы.
Выражать благодарность можно на Яндекс-Кошелек 41001312151376.
Обсудить программу можно тут.
При старте программы производится поиск подключенного устройства, в соответствии с введенными VID/PID. При необходимости Вы можете их изменить, введя новые значения в соотвествующие поля и нажав кнопку "Установить". Если Вы не меняете значения, то нажимать эту кнопку нет необходимости.
Прием данных
Принимаемые данные выводятся в виде шестнадцатиричных значений с указанием интерфейса, с которого они получены. Стандартные устройства блокируются оперционной системой, поэтому получить с них данные в бинарном виде невозможно (данные интерфейсы отмечены фиолетовым цветом в списке).
При необходимости скрыть данные, получаемые от части интерфейсов, они могут быть отфильтрованы. Переключение "Прием разрешен/Прием отфильтрован" производится с помощью нажатия правой кнопки мыши на соответствующем интерфейсе.
Следует учитывать, что при включении фильтрации уже выведенные в лог данные не исчезнут. Так же после разрешения приема с конкретного интерфейса данные, полученные до этого, не будут отображены.
Передача данных
Для передачи данных необходимо выбрать интерфейс-получатель и ввести массив данных для передачи в шестнадцатиричном виде.
Замечание по вводу данных:
Введенные данные приводятся к байтам. В случае, если во вводе не хватает нибла (полубайта), то байт дополняется нулями в старших разрядах.
Например, ввод "11 2 3333 44444" будет трактован как "11 02 33 33 04 44 44".
Поле "номер рапорта" используется для интерфейсов, имеющих несколько типов рапортов. Если не знаете, что это такое, оставьте поле равным нулю.
- Информация о материале
- Автор: Stalko
- Категория: Мои программы
- Просмотров: 3368
Расчет кредитов Сбербанка (с учетом досрочного погашения)
Программа написана мной для себя, для расчета кредита Сбербанка. Данная программа учитывает все тонкости расчета кредитов Сбербанком (насколько это вообще возможно), позволяет проанализировать и выбрать эффективную стратегию досрочного погашения кредита. Отображение данных максимально приближено к отображению в "Графике платежей" на сайте самого Сбербанка.
Ссылка на скачивание находится внизу страницы.
Обсудить программу, высказать свои предложения и пожелания, а также поругаться на обнаруженные ошибки можно тут.
История версий:
-
1.1.5 (06.12.2018) - Некоторое время отдыхал от программы и свежим взглядом (а также на основании опыта эксплуатации программы другими пользователями) обнаружил несколько ошибок, причем довольно серьезных, включая порчу базы данных в некоторых ситуациях. Исправлено.
- 1.1.4 (05.10.2018) - Обнаружил ошибку, возникающую в ситуации, когда кредит взят в дату, большую, чем максимальная дата в одном из месяцев. Исправлено. Также исправлена ошибка, возникающая в ситуации, когда досрочный платеж попадает на дату планового платежа (изначально все было нормально, но исправляя какую-то из ошибок, внес эту).
Кстати, я старался, делал производственный календарь, а Сбербанк, похоже, изменил отображение в графике на обычное (в старых кредитах этого нет, а вот в новом все идет подозрительно по одной дате теперь). - 1.1.3 (27.09.2018) - Не планировал выпускать версии до версии 1.2.0, где хотел добавить досрочные платежи с уменьшением срока. Но добавление их поддержки затягивается, так как я при написании программы всегда сравниваю расчетные данные с практическими в графике платежей Сбербанка. На данный момент у меня нет платежей с уменьшением срока, а выполнить такой платеж из Сбербанк-Онлайн на данный момент невозможно. Поэтому пришлось отложить это до того момента, когда я дойду до отделения и напишу заявление на частичное погашение.
Впрочем, вероятно Вы обратите внимание, что пункт "Уменьшение срока кредита" уже доступен. На самом деле я уже его реализовал, но так, как мне лично это кажется наиболее логично. И до тех пор, пока я не проверю свои предположения на практике, я не буду окончательно доверять результатам данного рассчета.
Тем не менее новые мысли по улучшению программы приходят в голову и я их стараюсь реализовать.
Нашел несколько ошибок разной степени тяжести.
В данной версии появились "тестовые" платежи, которые позволяют оценить эффективность погашения, но не сохраняются в базе. "Откатить" добавление таких платежей можно повторно нажав кнопку "Расчет". При необходимости тестовый платеж может быть преобразован в постоянный (занесен в БД).
Теперь при попытке ввести досрочный платеж на сумму больше оставшейся программа не просто ругается, а предлагает ввести всю оставшуюся сумму (с закрытием кредита).
При создании копии кредита предлагается перенести в копию и все введенные ранее досрочные платежи.
В программу вернулся пункт главного меню "Файл". Теперь в нем находятся экспорт и импорт данных.
Добавлен редактор кредитов, позволяющий удалять неактуальные кредиты. -
1.1.2 (21.09.2018) - Не хочется говорить громких слов, но я эту версию посвящаю своей любимой женщине, у которой завтра день рождения. Так что версия получается "праздничная" и, надеюсь, не "кривая".
Теперь все введенные Вами ранее досрочные платежи хранятся в базе и будут учтены при нажатии кнопки "Расчет". Добавлена возможность удаления введенных досрочных платежей. Исправлена ошибка, из-за которой при вводе досрочных платежей не по порядку (не от первого к последнему, а вразнобой) кредит рассчитывался неправильно. Это незначительно сказалось на скорости расчета, но не критично. Исправлены другие мелкие (и не очень) ошибки и недочеты. Улучшена отрисовка таблицы платежей. Опять поменялась структура базы данных. Я сделал все, чтобы программа сама откорректировала предыдущую версию базы (без потерь). Однако, если у кого-то начнутся проблемы, все же рекомендуется перестроить БД (пункт меню "Настройки"). К сожалению, введеные данные при этом будут утеряны.
По сути я закончил со всеми срочными планами по оптимизации и украшательству. Теперь хочу взять небольшую паузу, и добавить, наконец-то, платеж с уменьшением срока. - 1.1.1 (18.09.2018) - Найдена ошибка в работе с производственным календарем, исправлена. Оптимизация памяти. К сожалению, пришлось изменить структуру БД, в связи с чем у пользователей могли возникать ошибки и не работать сам калькулятор. Поэтому пришлось добавить проверку и перестраивать базу. Данные при этом будут утеряны. Приношу свои извинения за неудобства. В структуру БД внес версию, что в дальнейшем позволит избежать подобных неприятностей. В меню настроек появился новый пункт "Перестроить БД". Просьба учесть, что при принудительном перестроении базы данных все данные уничтожаются. В целом после исправления всех ошибок программа проверена на двух "контрольных" кредитах и заслуживает звание "стабильная".
- 1.1.0 (16.09.2018) - Понял, что недооценил задачу, начал переписывать движок с полным использованием прелестей объектно-ориентированного программирования и СУБД. На текущий момент движок переписан частично. В связи с использованием для хранения данных базы данных исчезли кнопки и пункты меню "Сохранить" и "Загрузить". В графики добавил график изменения ежемесячного платежа.
- 1.0.2 (13.09.2018) - Работы по улучшению визуального восприятия информации. Изменена структура пункта меня "Настройки". Добавлено графическое (диаграммы) отображение структуры кредита и эффективности досрочного погашения.
- 1.0.1 (09.09.2018) - Косметические изменения. Из полезного: нашел, почему расходятся "копеечки" между программой и графиком погашения на сайте Сбербанка. Теперь все идет "копейка в копейку".
- 1.0.0 (05.09.2018) - Первая версия программы.