Перейти к содержанию

Scanmatik 2 pro, установка Bluetooth модуля.


Рекомендуемые сообщения

У меня, наконец дошли руки до запуска блутуза. сначала проверил на прошивке что выложена здесь. все работает стабильно но подтупливает, особенно по сравнению с проводом. Решил что надо как-то распаралеллить нагрузку. В результате родилась следующая прошивка что принципиально другой режим обработки. результат порадовал! интерфейс стал заметно более отзывчивый.
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
#include <driver/uart.h>
#include <BluetoothSerial.h>
#define BAUD_RATE 115200 * 8
#define SIZE_BUFFER 512
#define SIZE_FIFO SIZE_BUFFER * 8
#define SAVE_MODE
//#define USE_PIN
#ifdef USE_PIN
const char* pin = "1234";
#endif
const String device_name = "SCANMATIK #A111788";
BluetoothSerial SerialBT;
uint8_t buffer[SIZE_BUFFER];
uint8_t bufferBT[SIZE_BUFFER];
unsigned int available=0;
unsigned int availableBT=0;
size_t bytesRead=0;
size_t bytesReadBT=0;
size_t bytesWrite=0;
size_t bytesWriteBT=0;
#ifdef SAVE_MODE
uint32_t min_delay = 1;
uint32_t max_delay = min_delay * 1024;
uint32_t cur_delay = min_delay;
uint32_t cur_delayBT = min_delay;
uint32_t critical_size = (SIZE_FIFO / 4) * 3;
#endif
// Поток для обработки данных из последовательного порта
void serial_reader_task(void* param) {
for (; {
available = Serial.available();
if (available > 0) {
bytesRead = Serial.readBytes(buffer, min(available, sizeof(buffer)));
bytesWrite = SerialBT.write(buffer, bytesRead);
#ifdef SAVE_MODE
if (cur_delay > min_delay) {
if (available >= critical_size) {
cur_delay = min_delay;
}
else {
cur_delay /= 2;
}
}
vTaskDelay(pdMS_TO_TICKS(cur_delay)); // пауза для минимизации нагрузки
#endif
}
#ifdef SAVE_MODE
else {
if (cur_delay < max_delay) {
cur_delay *= 2;
}
vTaskDelay(pdMS_TO_TICKS(cur_delay));
}
#endif
}
}
// Поток для обработки данных из Bluetooth
void bluetooth_reader_task(void* param) {
for (; {
availableBT = SerialBT.available();
if (availableBT > 0) {
// Чтение данных из Bluetooth
bytesReadBT = SerialBT.readBytes(bufferBT, min(availableBT, sizeof(bufferBT)));
bytesWriteBT = Serial.write(bufferBT, bytesReadBT);

#ifdef SAVE_MODE
if (cur_delayBT > min_delay) {
if (availableBT >= critical_size) {
cur_delayBT = min_delay;
}
else {
cur_delayBT /= 2;
}
}
vTaskDelay(pdMS_TO_TICKS(cur_delayBT)); // пауза для минимизации нагрузки
#endif
}
#ifdef SAVE_MODE
else {
if (cur_delayBT < max_delay) {
cur_delayBT *= 2;
}
vTaskDelay(pdMS_TO_TICKS(cur_delayBT));
}

#endif
}
}
void setup() {
Serial.setRxBufferSize(SIZE_FIFO);
Serial.setTxBufferSize(SIZE_FIFO);
Serial.begin(BAUD_RATE);
SerialBT.begin(device_name);
memset(buffer, 0, sizeof(buffer));
memset(bufferBT, 0, sizeof(bufferBT));

// setup UART from hardware (RTS/CTS)
uart_set_pin(UART_NUM_0, 1, 3, 22, 19); // UART, TX, RX, RTS, CTS
uart_set_hw_flow_ctrl(UART_NUM_0, UART_HW_FLOWCTRL_CTS_RTS, 64);
uart_set_mode(UART_NUM_0, UART_MODE_UART);

SerialBT.begin(device_name);
#ifdef USE_PIN
SerialBT.setPin(pin);
#endif

Serial.print("AT-AB -BypassMode-\n");
// Назначение задач на разные ядра
xTaskCreatePinnedToCore(serial_reader_task, "Serial Reader", 4096, NULL, 10, NULL, 0);
xTaskCreatePinnedToCore(bluetooth_reader_task, "Bluetooth Reader", 4096, NULL, 10, NULL, 1);
}
// Метод loop()
void loop() {}

8 часов назад, chipandtun сказал:

Добрый день. Подскажите купил Есп32, прошил, запаял в см2про, комп видит блютуз и подключается, привязал к проге сканматик, блютуз определяется, но при подключении к авто-- нет связи. В чем может быть проблема? 

У меня такое было при плохом контакте одного из 4 проводов UART TX, RX, RTS, CTS. можно попробовать отключить CTS или RTS. или оба сразу. например так

uart_set_pin(UART_NUM_0, 1, 3, 22, -1); // UART, TX, RX, RTS, CTS

uart_set_hw_flow_ctrl(UART_NUM_0, UART_HW_FLOWCTRL_RTS, 64);

редактор немного порезал код! вместо for(; { должно быть for (;;) {

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 123
  • Создана
  • Последний ответ

Топ авторов темы

Доработал прошивку до вполне вменяемого состояния. Беглое тестирование показало что почти не уступает оригинальной версии. Рекомендуется к использованию.

Спойлер

#include <freertos/FreeRTOS.h>

#include <freertos/task.h>

#include <driver/uart.h>

#include <BluetoothSerial.h>

 

#define BAUD_RATE 115200 * 8

#define SIZE_BUFFER 512

#define SIZE_FIFO SIZE_BUFFER * 8

 

//#define USE_PIN

#ifdef USE_PIN

const char* pin = "1234";

#endif

const String device_name = "SCANMATIK #A111788";

BluetoothSerial SerialBT;

uint8_t buffer[SIZE_BUFFER];

uint8_t bufferBT[SIZE_BUFFER];

unsigned int available=0;

unsigned int availableBT=0;

size_t bytesRead=0;

size_t bytesReadBT=0;

size_t bytesWrite=0;

size_t bytesWriteBT=0;

 

uint32_t min_delay = 1;

uint32_t max_delay = min_delay * 128;

uint32_t cur_delay = min_delay;

uint32_t cur_delayBT = min_delay;

uint32_t critical_size = SIZE_FIFO / 2;


 

// Поток для обработки данных из последовательного порта

void serial_reader_task(void* param) {

for (;;) {

available = Serial.available();

if (available > 0) {

bytesRead = Serial.readBytes(buffer, min(available, sizeof(buffer)));

bytesWrite = SerialBT.write(buffer, bytesRead);

if (cur_delay > min_delay) {

if (available >= critical_size) {

cur_delay = min_delay;

}

else {

cur_delay /= 2;

}

}

}

else {

if (cur_delay < max_delay) {

cur_delay *= 2;

}

}

if (available <= critical_size) {

vTaskDelay(pdMS_TO_TICKS(cur_delay)); // пауза для минимизации нагрузки

}

}

}

 

// Поток для обработки данных из Bluetooth

void bluetooth_reader_task(void* param) {

for (;;) {

availableBT = SerialBT.available();

if (availableBT > 0) {

bytesReadBT = SerialBT.readBytes(bufferBT, min(availableBT, sizeof(bufferBT)));

bytesWriteBT = Serial.write(bufferBT, bytesReadBT);

 

if (cur_delayBT > min_delay) {

if (availableBT >= critical_size) {

cur_delayBT = min_delay;

}

else {

cur_delayBT /= 2;

}

}

}

else {

if (cur_delayBT < max_delay) {

cur_delayBT *= 2;

}

}

if (availableBT <= critical_size) {

vTaskDelay(pdMS_TO_TICKS(cur_delayBT)); // пауза для минимизации нагрузки

}

}

}

 

void setup() {

Serial.setRxBufferSize(SIZE_FIFO);

Serial.setTxBufferSize(SIZE_FIFO);

Serial.begin(BAUD_RATE);

SerialBT.begin(device_name);

 

memset(buffer, 0, sizeof(buffer));

memset(bufferBT, 0, sizeof(bufferBT));

// setup UART from hardware (RTS/CTS)

uart_set_pin(UART_NUM_0, 1, 3, 22, 19); // UART, TX, RX, RTS, CTS

uart_set_hw_flow_ctrl(UART_NUM_0, UART_HW_FLOWCTRL_CTS_RTS, 64);

uart_set_mode(UART_NUM_0, UART_MODE_UART);

SerialBT.begin(device_name);

#ifdef USE_PIN

SerialBT.setPin(pin);

#endif

Serial.print("AT-AB -BypassMode-\n");

 

// Назначение задач на разные ядра

xTaskCreatePinnedToCore(serial_reader_task, "Serial Reader", 4096, NULL, 10, NULL, 0);

xTaskCreatePinnedToCore(bluetooth_reader_task, "Bluetooth Reader", 4096, NULL, 10, NULL, 1);

}

 

// Метод loop()

void loop() {}

 

Ссылка на комментарий
Поделиться на другие сайты

Только что, carmasteruser сказал:

Доработал прошивку до вполне вменяемого состояния. Беглое тестирование показало что почти не уступает оригинальной версии. Рекомендуется к использованию.

  Скрыть контент

#include <freertos/FreeRTOS.h>

#include <freertos/task.h>

#include <driver/uart.h>

#include <BluetoothSerial.h>

 

#define BAUD_RATE 115200 * 8

#define SIZE_BUFFER 512

#define SIZE_FIFO SIZE_BUFFER * 8

 

//#define USE_PIN

#ifdef USE_PIN

const char* pin = "1234";

#endif

const String device_name = "SCANMATIK #A111788";

BluetoothSerial SerialBT;

uint8_t buffer[SIZE_BUFFER];

uint8_t bufferBT[SIZE_BUFFER];

unsigned int available=0;

unsigned int availableBT=0;

size_t bytesRead=0;

size_t bytesReadBT=0;

size_t bytesWrite=0;

size_t bytesWriteBT=0;

 

uint32_t min_delay = 1;

uint32_t max_delay = min_delay * 128;

uint32_t cur_delay = min_delay;

uint32_t cur_delayBT = min_delay;

uint32_t critical_size = SIZE_FIFO / 2;


 

// Поток для обработки данных из последовательного порта

void serial_reader_task(void* param) {

for (;;) {

available = Serial.available();

if (available > 0) {

bytesRead = Serial.readBytes(buffer, min(available, sizeof(buffer)));

bytesWrite = SerialBT.write(buffer, bytesRead);

if (cur_delay > min_delay) {

if (available >= critical_size) {

cur_delay = min_delay;

}

else {

cur_delay /= 2;

}

}

}

else {

if (cur_delay < max_delay) {

cur_delay *= 2;

}

}

if (available <= critical_size) {

vTaskDelay(pdMS_TO_TICKS(cur_delay)); // пауза для минимизации нагрузки

}

}

}

 

// Поток для обработки данных из Bluetooth

void bluetooth_reader_task(void* param) {

for (;;) {

availableBT = SerialBT.available();

if (availableBT > 0) {

bytesReadBT = SerialBT.readBytes(bufferBT, min(availableBT, sizeof(bufferBT)));

bytesWriteBT = Serial.write(bufferBT, bytesReadBT);

 

if (cur_delayBT > min_delay) {

if (availableBT >= critical_size) {

cur_delayBT = min_delay;

}

else {

cur_delayBT /= 2;

}

}

}

else {

if (cur_delayBT < max_delay) {

cur_delayBT *= 2;

}

}

if (availableBT <= critical_size) {

vTaskDelay(pdMS_TO_TICKS(cur_delayBT)); // пауза для минимизации нагрузки

}

}

}

 

void setup() {

Serial.setRxBufferSize(SIZE_FIFO);

Serial.setTxBufferSize(SIZE_FIFO);

Serial.begin(BAUD_RATE);

SerialBT.begin(device_name);

 

memset(buffer, 0, sizeof(buffer));

memset(bufferBT, 0, sizeof(bufferBT));

// setup UART from hardware (RTS/CTS)

uart_set_pin(UART_NUM_0, 1, 3, 22, 19); // UART, TX, RX, RTS, CTS

uart_set_hw_flow_ctrl(UART_NUM_0, UART_HW_FLOWCTRL_CTS_RTS, 64);

uart_set_mode(UART_NUM_0, UART_MODE_UART);

SerialBT.begin(device_name);

#ifdef USE_PIN

SerialBT.setPin(pin);

#endif

Serial.print("AT-AB -BypassMode-\n");

 

// Назначение задач на разные ядра

xTaskCreatePinnedToCore(serial_reader_task, "Serial Reader", 4096, NULL, 10, NULL, 0);

xTaskCreatePinnedToCore(bluetooth_reader_task, "Bluetooth Reader", 4096, NULL, 10, NULL, 1);

}

 

// Метод loop()

void loop() {}

 

Отлично работает ранее выложенная прошивка

Ссылка на комментарий
Поделиться на другие сайты

1 годину назад, carmasteruser сказав:

Доработал прошивку до вполне вменяемого состояния. Беглое тестирование показало что почти не уступает оригинальной версии. Рекомендуется к использованию.

  Показати контент

#include <freertos/FreeRTOS.h>

#include <freertos/task.h>

#include <driver/uart.h>

#include <BluetoothSerial.h>

 

#define BAUD_RATE 115200 * 8

#define SIZE_BUFFER 512

#define SIZE_FIFO SIZE_BUFFER * 8

 

//#define USE_PIN

#ifdef USE_PIN

const char* pin = "1234";

#endif

const String device_name = "SCANMATIK #A111788";

BluetoothSerial SerialBT;

uint8_t buffer[SIZE_BUFFER];

uint8_t bufferBT[SIZE_BUFFER];

unsigned int available=0;

unsigned int availableBT=0;

size_t bytesRead=0;

size_t bytesReadBT=0;

size_t bytesWrite=0;

size_t bytesWriteBT=0;

 

uint32_t min_delay = 1;

uint32_t max_delay = min_delay * 128;

uint32_t cur_delay = min_delay;

uint32_t cur_delayBT = min_delay;

uint32_t critical_size = SIZE_FIFO / 2;


 

// Поток для обработки данных из последовательного порта

void serial_reader_task(void* param) {

for (;;) {

available = Serial.available();

if (available > 0) {

bytesRead = Serial.readBytes(buffer, min(available, sizeof(buffer)));

bytesWrite = SerialBT.write(buffer, bytesRead);

if (cur_delay > min_delay) {

if (available >= critical_size) {

cur_delay = min_delay;

}

else {

cur_delay /= 2;

}

}

}

else {

if (cur_delay < max_delay) {

cur_delay *= 2;

}

}

if (available <= critical_size) {

vTaskDelay(pdMS_TO_TICKS(cur_delay)); // пауза для минимизации нагрузки

}

}

}

 

// Поток для обработки данных из Bluetooth

void bluetooth_reader_task(void* param) {

for (;;) {

availableBT = SerialBT.available();

if (availableBT > 0) {

bytesReadBT = SerialBT.readBytes(bufferBT, min(availableBT, sizeof(bufferBT)));

bytesWriteBT = Serial.write(bufferBT, bytesReadBT);

 

if (cur_delayBT > min_delay) {

if (availableBT >= critical_size) {

cur_delayBT = min_delay;

}

else {

cur_delayBT /= 2;

}

}

}

else {

if (cur_delayBT < max_delay) {

cur_delayBT *= 2;

}

}

if (availableBT <= critical_size) {

vTaskDelay(pdMS_TO_TICKS(cur_delayBT)); // пауза для минимизации нагрузки

}

}

}

 

void setup() {

Serial.setRxBufferSize(SIZE_FIFO);

Serial.setTxBufferSize(SIZE_FIFO);

Serial.begin(BAUD_RATE);

SerialBT.begin(device_name);

 

memset(buffer, 0, sizeof(buffer));

memset(bufferBT, 0, sizeof(bufferBT));

// setup UART from hardware (RTS/CTS)

uart_set_pin(UART_NUM_0, 1, 3, 22, 19); // UART, TX, RX, RTS, CTS

uart_set_hw_flow_ctrl(UART_NUM_0, UART_HW_FLOWCTRL_CTS_RTS, 64);

uart_set_mode(UART_NUM_0, UART_MODE_UART);

SerialBT.begin(device_name);

#ifdef USE_PIN

SerialBT.setPin(pin);

#endif

Serial.print("AT-AB -BypassMode-\n");

 

// Назначение задач на разные ядра

xTaskCreatePinnedToCore(serial_reader_task, "Serial Reader", 4096, NULL, 10, NULL, 0);

xTaskCreatePinnedToCore(bluetooth_reader_task, "Bluetooth Reader", 4096, NULL, 10, NULL, 1);

}

 

// Метод loop()

void loop() {}

 

Спасибо, будем тестировать

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Виктор V сказал:

Отлично работает ранее выложенная прошивка

этот вариант еще на порядок лучше

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, carmasteruser сказал:

этот вариант еще на порядок лучше

Чем лучше конкретнее 

Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, Виктор V сказал:

Чем лучше конкретнее

Теорией.... пока что. Надо тестит на реальном блоке. Я тоже пытался с 2 ядрами делать скетч. Работало... но при прошивке подопытного эбу висло и уваливало.... 

На выходных попробую затестить... если лень не помешает 😄

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Виктор V сказал:

Чем лучше конкретнее 

Предыдущая прошивка, например, долго думала при автоматическом выборе ЭБУ. Здесь же выбирает почти мгновенно. Там максимальная задержка была 1024 мсек, тут 128, Затупов практически нету и при этом проц не греется. Этой уже вполне можно пользоваться в рабочем режиме. Кому надо в бинарном виде - ловите. Заливать примерно так:
esptool.py write_flash \\
--flash_mode dio \\
--flash_freq 40m \\
--flash_size detect \\
0x1000 bootloader.bin \\
0x8000 partitions.bin \\
0x10000 app.bin \\
0x100000 data.bin

esp32.esp32.node32s.zip

Ссылка на комментарий
Поделиться на другие сайты

Пока перепаивал... проверил амперметром. Вообщем моя прошивка стандарт + смена имени блютуз потребляет в простое 70ма при передаче 140ма ваша с 2 ядрами 80ма в простое 155 при передаче. 2 ядра жрут на 10ма больше... не так уж и много, думал будет поболя. Если нет передачи секунд через 5 на обоих прошивках ток падает в 2 раза типо режим ожидания. Судя по потреблению тока все эти сейв моды и таймауты не нужны в коде. Все это реализованно в библиотеке и нормально работает.

Позже потестю на прошивке блока....

Кидайте скетч самой последней вашей... потестим.

Ссылка на комментарий
Поделиться на другие сайты

а температурный режим сравнили? сдается мне будет разница. и еще интересно сколько ваша прошивка посылает запросов чтобы считать 1 байт данных? в случае когда данных нету. самому лень считать. почему ваша прошивка работает сносно, хотя должна по идее быстро ставить на колени микроконтроллер?? потому что у него есть встроенные средства защиты от дурака и говнокодинга. в моем случае эта защита не нужна. потому что все сделано грамотно и разумно.  попробуйте код подобный вашему запустить на десктопе. вот тогда все тайное и станет явным. 

Ссылка на комментарий
Поделиться на другие сайты

Стандарт прошивка основанна на примере блютуз сериал из ардуино ide. Т.е самый минимум... 

Вы тоже используете туже библиотеку то есть у вас такой же говно код😀 

А если без шуток то я не пытаюсь что там оспорить обхаить.... наоборот. 

Давайте тестить. Теория это не то....

23 минуты назад, carmasteruser сказал:

температурный режим сравнили

Пока нет. Когда буду тестить на прошивка блока замерю.

Если физику помните то поймете что чем больше ток тем теплее...

55 минут назад, carmasteruser сказал:

еще интересно сколько ваша прошивка посылает запросов чтобы считать 1 байт

А куда гнатся? К линия и кан шина не такие уж и скоростные... чеще всего тормоит именно эбу авто.

Ссылка на комментарий
Поделиться на другие сайты

по моим данным потребление в холостом режиме прыгает 82 -73 ма. при длительном приеме через блютуз не превышает 160 ма. температура под нагрузкой 46-47.

Ссылка на комментарий
Поделиться на другие сайты

19 минут назад, carmasteruser сказал:

прыгает 82 -73 ма

Да. Еще я заметил что прыгает, на "моей" не прагало. 

Скинте вашу последню в личку я свою скину. 

Тестю на блоке edc16c39

Моя калибровки по к линии считала за 3.11 мин. По юсб 1.05 ваша читала 25 мин. Записывать еще не пробовал. 

Ссылка на комментарий
Поделиться на другие сайты

так я выложил все свои прошивки в этой теме. если надо прям файл ino приложил. 

sketch_aug5a_copy_20250808171846.zip

Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, Roman St сказал:

Моя калибровки по к линии считала за 3.11 мин. По юсб 1.05 ваша читала 25 мин. Записывать еще не пробовал. 

не понял эту фразу. какое отношение имеет моя прошивка к USB? И походу вы использовали старую версию которая была задумчивой иногда.

Еще одна оптимизация прошивки. Хотел так сделать изначально но глупый ИИ отговорил. Сколько раз уже убеждался что ему нельзя верить! Теперь потребление в режиме ожидания 50 ма, при полной загрузке 135-140 ма

sketch_aug5a_copy_20250808171846.zip

Тот же вариант в бинарном виде

esp32.esp32.node32s.zip

Ссылка на комментарий
Поделиться на другие сайты

13 часов назад, carmasteruser сказал:

не понял эту фразу. какое отношение имеет моя прошивка к 

 Да просто считывал еще и по юсб для сравнения времени. Чем больше данных в тесте тем обективнее

13 часов назад, carmasteruser сказал:

И походу вы использовали старую версию которая была задумчивой иногда.

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

Ссылка на комментарий
Поделиться на другие сайты

18 минут назад, Roman St сказал:

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

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

Ссылка на комментарий
Поделиться на другие сайты

Блютуз сейчас мало интересен. Ну работает и ладно. Толи дело к нему каким-то образом wifi соорудить. 

Просто для прошивки блютуз использовать довольно рискованно. 

Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, Serj_Pro сказал:

Блютуз сейчас мало интересен. Ну работает и ладно. Толи дело к нему каким-то образом wifi соорудить. 

Просто для прошивки блютуз использовать довольно рискованно. 

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

Ссылка на комментарий
Поделиться на другие сайты

Я чисто для теста пробую шить по блютузу так лючше проверить прошивку под нагрузкой. Так то конечно по юсби лучше и быстрее в разы.

1 час назад, carmasteruser сказал:

Но 99.9% проблем уже решены

Говорю как тестеровщик... не решены а добавленны.. 

Последняя ваша прошивка считала колибровки за 14.13 минут уже лучше... было 25. Моя за 3.02 

Прошить ваша не смогла вообще... стерла область калибровок и зависла увалив блок.... моя записывает за 9.20 по юсб за 2.41 файл 2 мегобайта.

Для диагностики может и сгодится. Не нужны там 2 ядра... сам это понял когда свою делал.

IMG-20250810-WA0003.thumb.jpg.6bc59069ecc3df42c48f93a9ec0721fc.jpgIMG-20250810-WA0004.thumb.jpg.a237df344371c819862edb7a8a92841e.jpg

Соорудил для тестов. Прошивки на разных еспшках... для горячей замены.

1 час назад, Serj_Pro сказал:

Блютуз сейчас мало интересен. Ну работает и ладно. Толи дело к нему каким-то образом wifi соорудить. 

К стате тестил еще smartlink C от launch  в нем как раз вайфай и юсб. Так вот он читал калибровки за 2.30 фул записал за 8.44 мин. По юсб примерно так же. Китайматик по юсб шустрее а разница блютуз вайфай оказалась небольшой. 

 

Вайфай конечно стабильней и надежнее да и дальше работает... не обязательно поут в машину тащить.

1 час назад, carmasteruser сказал:

скорости блютуза хватает. узким местом выступает проводной интерфейс

Если скорости хватает почему тогда через юсб в разы быстрее?

Какой интерфейс вы имеете ввиду?

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Roman St сказал:

Я чисто для теста пробую шить по блютузу так лючше проверить прошивку под нагрузкой. Так то конечно по юсби лучше и быстрее в разы.

Говорю как тестеровщик... не решены а добавленны.. 

Последняя ваша прошивка считала колибровки за 14.13 минут уже лучше... было 25. Моя за 3.02 

Прошить ваша не смогла вообще... стерла область калибровок и зависла увалив блок.... моя записывает за 9.20 по юсб за 2.41 файл 2 мегобайта.

Для диагностики может и сгодится. Не нужны там 2 ядра... сам это понял когда свою делал.

IMG-20250810-WA0003.thumb.jpg.6bc59069ecc3df42c48f93a9ec0721fc.jpgIMG-20250810-WA0004.thumb.jpg.a237df344371c819862edb7a8a92841e.jpg

Соорудил для тестов. Прошивки на разных еспшках... для горячей замены.

К стате тестил еще smartlink C от launch  в нем как раз вайфай и юсб. Так вот он читал калибровки за 2.30 фул записал за 8.44 мин. По юсб примерно так же. Китайматик по юсб шустрее а разница блютуз вайфай оказалась небольшой. 

 

Вайфай конечно стабильней и надежнее да и дальше работает... не обязательно поут в машину тащить.

Если скорости хватает почему тогда через юсб в разы быстрее?

Какой интерфейс вы имеете ввиду?

Что за Сканматик такой?

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, Виктор V сказал:

Что за Сканматик такой?

Китайский который в алюминевом корпусе 

87812634_.jpeg.5ac083592b8b3c0078a0bdaec2c9cfdd.jpeg

тоже самое в другой упаковке.

В 09.08.2025 в 13:48, carmasteruser сказал:

Затупов практически нету и при этом проц не греется.

Вот температура моей в простое (просто подключена) примерно час.

IMG-20250810-WA0011.thumb.jpg.454fce7419ccf0b4862948b4c046ec45.jpg

А это с подключенной диагностикой

IMG-20250810-WA0010.thumb.jpg.87a621012f3ff16e121fa52f36dda44c.jpg

при непрерывной передаче (прошивке) температура не выше 50 градусов. 

Никаких утюгов не замеченно.

Думаю не надо изобретать велосипед все и так работает. Ну и конечно если добетесь лучшех показателей тогда выкладивайте.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Roman St сказал:

Китайский который в алюминевом корпусе 

87812634_.jpeg.5ac083592b8b3c0078a0bdaec2c9cfdd.jpeg

тоже самое в другой упаковке.

Вот температура моей в простое (просто подключена) примерно час.

IMG-20250810-WA0011.thumb.jpg.454fce7419ccf0b4862948b4c046ec45.jpg

А это с подключенной диагностикой

IMG-20250810-WA0010.thumb.jpg.87a621012f3ff16e121fa52f36dda44c.jpg

при непрерывной передаче (прошивке) температура не выше 50 градусов. 

Никаких утюгов не замеченно.

Думаю не надо изобретать велосипед все и так работает. Ну и конечно если добетесь лучшех показателей тогда выкладивайте.

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

Ссылка на комментарий
Поделиться на другие сайты

35 минут назад, carmasteruser сказал:

а раньше вы что выкладывали

Вы о чем? 

 

40 минут назад, carmasteruser сказал:

пожалуй я заканчиваю с вами дискуссию,

И правельно нечего впустую кодом закидывать тему.. как сделаете рабочий вариант так и вакладывайте. Так как никаму не охото тратить время на прошивки туда сюда просто так из за чьей то теории. 

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   2 пользователя онлайн

×
  • Создать...