четверг, 9 июля 2020 г.

Снятие и замена ремешка с пульсометра Sigma Sport

Многие владельцы пульсометров Sigma Sport после поломки ремешка почему-то решают выбросить эти пульсометры, как я увидел в интернете. Тогда как снять и заменить ремешок на новый совсем несложно: нужно лишь отогнуть край ремешка на стыке ремешок/корпус пульсометра, найти отверстие оси, иголкой надавить на конец оси и отжать её.


После этого ремешок отделяется от корпуса. Выделены металлическая ось и отверстие, куда она должна вставляться:

После этого можно установить взамен любой понравившийся ремешок, взять хоть с того же алиэкспресс.
Также на фото на ремешке видны нитки, это была моя попытка починить переломанный ремешок. Починить то я починил, да он переломался через 3 часа ношения в другом месте. Ремешок сделан из недолговечного материала, и проблема со временем только прогрессирует. Проблема носит массовый характер, судя по описанным в интернете случаям. Оставим это на совести производителя. Электронная часть пульсометра работает без проблем.
На фото пульсометр Sigma Sport PC1600.

вторник, 3 октября 2017 г.

Vortex86DX, QNX6.5, максимальная скорость последовательного порта (serial port maximum baud rate)

По умолчанию последовательные порты на микропроцессорной плате Vortex86DX A9121 (в моем случае это штыри на плате RXD3 и TXD3) в операционной системе QNX 6.5 работают на скорости не выше 115200 бит/с. В документации заявляется максимальная поддерживаемая железом скорость 460.8к. Однако есть возможность достигнуть скорости 748.8к при должном качестве провода. Для этого необходимо:

1. В BIOS указать скорость 748800 BPS для используемого последовательного порта:















2. Строка запуска стандартного драйвера:
# devc-ser8250 -c 24000000/16 -u 3 -t8 -T8 3e8,10 2e8,11
где 24 МГц - частота осциллятора на плате Vortex, 16 - делитель.
Есть подозрение, что истинная скорость в таком случае будет равной 750к, а не 748.8к, как написано в BIOS.

3. В нашем приложении открываем COM порт с указанием скорости 748800 бит/с. В файле termios.h нет константы на эту скорость, но можно вписать её в нужном месте как число.

In English:
A solution described above is how to achieve serial port baud rate 748.8K instead of standard 115.2K on Vortex86DX microprocessor with QNX 6.5 and standard serial port driver devc-ser8250.

понедельник, 21 ноября 2016 г.

Снятие спинок задних сидений на ВАЗ 2110, когда петля попала внутрь спинки.

Чтобы на автомобиле ВАЗ 2110 откинуть заднюю спинку, нужно потянуть тканевую петлю у подголовника:
















(фотка нагло стырена из интернета).


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

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

среда, 9 ноября 2016 г.

Анализ с помощью tcpdump причин потерь пакетов между клиентом и сервером.

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

От пользователей пришла жалоба на периодические потери связи между клиентом и сервером: в среднем раз в полчаса в клиентском приложении выскакивало сообщение "Потеря связи", вынуждающая периодически вручную переподключаться к серверу.

вторник, 17 мая 2016 г.

Работа с таймером в консоли

Если нужно периодически выполнять одну и ту же функцию, можно воспользоваться следующим способом:


#define STRICT 1 // строгая проверка типов, пример сработает и без этого
#include <windows.h>
#include <iostream.h>

VOID CALLBACK TimerProc(HWND hWnd, UINT nMsg, UINT nIDEvent, DWORD dwTime)
{
    cout << "Time: " << dwTime << '\n';
    cout.flush();
}
  
int main(int argc, char *argv[], char *envp[])
{
    int Counter=0;
    MSG Msg;
    UINT TimerId = SetTimer(NULL, 0, 500, &TimerProc);
    cout << "TimerId: " << TimerId << '\n';
    if (!TimerId)
        return 16;
    while (GetMessage(&Msg, NULL, 0, 0))
    {
        ++Counter;
        if (Msg.message == WM_TIMER)
            cout<<"Counter: " << Counter << "; timer message\n";
        else
            cout<<"Counter: "<<Counter<<"; message: "<<Msg.message<<'\n';
        DispatchMessage(&Msg);
    }
    KillTimer(NULL, TimerId);
    return 0;
}

пятница, 19 декабря 2014 г.

Побеждаем exception 0x000006BA "Сервер RPC недоступен" на CFileDialog DoModal()

Проблема широко описана в англоязычном интернете, в русском описаний меньше. Проявляется в вылетании exception при отладке в месте, где ведётся работа с диалоговым окном CFileDialog. У меня вылетает на DoModal(), но описаны и случаи, когда ошибка вылетает при закрытии диалога работы с файлом.
Текст ошибки:  First-chance exception 0x000006BA, "Сервер RPC недоступен" (The RPC Server is unavailable).
При работе в релиз версии ошибка не проявляется. Т.е. проблема приводит лишь к неудобству отладки.

Обойти это можно очень простым способом: для релизной версии делать стиль окна как у Vista (bVistaStyle=true), для отладки можно пользоваться и классическим видом окна (#ifdef _DEBUG bVistaStyle=false).
До истинных причин проблемы - почему системе не нравится стиль окна Vista - я не докапывался. Если расскажете здесь в комментариях, буду только рад.
У меня VS 2010, MFC, Windows 7, 64 бита.

Код с проблемным местом:

воскресенье, 8 июня 2014 г.

Первое впечатление от источника питания YaXun PS-1501A

При покупке данного источника питания (ИП) удивила низка цена (420р). Принес домой, стал выяснять, в чем, дело. Оказалось, данный ИП не выдерживает даже тех немногих характеристик, которые заявлены в инструкции, а именно есть проблемы с выдаванием тока.
  1. При заявленном токе 1А отрубание происходит при 0.6-0.7А, т.е. нет возможности получить с него 1А. Выглядит это так: при превышении тока 0.6А стрелки напряжения и тока падают на ноль, желтая лампа питания меняет свой цвет на красный. Через 1с происходит попытка выйти на рабочий режим, лампа начинает светить желтым, стрелки приборов прыгают вправо, но вновь происходит отрубание по току (защита от короткого замыкания).
  2. При токе большем 0.2А начинает сильно греться задняя металлическая стенка ИП, которая выполняет роль радиатора для прикрученного к ней изнутри транзистора. У меня при токе 0.5А из ИП пошел запах горелой изоляции или лака. Если сразу после включения холодного ИП нагрузить его током 0.6А, уже через 5 секунд задняя стенка становится очень горячей.
Выводы:
  • Производитель сильно обманывает по заявленным характеристикам, по-хорошему это ИП на 0.2-0.4 ампера с кратковременным пиком до 0.6А.
  • У стрелочных индикаторов есть значительное преимущество перед цифровыми индикаторами - легче выявить природу скачков потребления тока по динамике движения стрелки. Цифровой индикатор показывает в таком случае мельтешение цифр с усреднением за длительный период времени.
 Вид ИП:

вторник, 4 февраля 2014 г.

Устранение ошибки "Internal Error, No file name for libssl1.0.0" при обновлении системы в Ubuntu 12.04, amd64.


 Во время очередного обновления ОС после команды sudo apt-get update возникла ошибка:
    Internal Error, No file name for libssl1.0.0

Исправляет ошибку принудительная переустановка пакета libssl1.0.0:

    wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.1-4ubuntu5.11_amd64.deb
    sudo dpkg -i libssl1.0.0_1.0.1-4ubuntu5.11_amd64.deb

вторник, 28 января 2014 г.

Где хранятся логи chkdsk в Windows 2008

Windows 2008 R2

При проверке диска Чекдиском во время загрузки системы результаты проверки не попадают в системный журнал или в журнал приложений. Логи можно найти здесь:
C:\System Volume Information\Chkdsk\, где C:\ - проверяемый диск.

вторник, 26 апреля 2011 г.

Продам книгу "Оптические системы связи" Дж. Гауер


Здесь можно купить книгу "Оптические системы связи" Дж. Гауер.
Книга 1989 года, 504 страницы, состояние хорошее. 200 рублей, Москва. Контакт через tsagdullin на мэйл ру. Или напишите здесь комментарий, тогда мне придет письмо.