• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Делюсь опытом Power Profiler на рельсах AdHoc protocol

pvvx

Активный участник сообщества
@pvvx. опять пришел и нарыгал?

для чего? чтобы тебя потом натыкали носом в твое наследие? мазохистЪ штоле??
А вы натыкайте - попробуйте.
Моё наследие вам натыкает ещё как :)
PS: вам тут коммерческие тайны раскрывают, а вы проявляете неуважение. Под описание, что нужно для универсального драйвера I2C/SMBUS можно патент заявлять или (с) ставить :p
 

pvvx

Активный участник сообщества
Код:
/* Universal I2C/SMBUS master read-write transaction struct */
typedef struct _i2c_utr_t {
    unsigned char mode;    // bit0..6: number wr_byte for new START (bit7: =1 - generate STOP/START)
    unsigned char rdlen; // bit0..6: number rd_byte, bit7: =1 - old read byte generate NACK, =0 - ACK
    unsigned char wrdata[1]; // i2c_addr_rdwr, wr_byte1, wr_byte2, wr_byte3, ... wr_byte126
} i2c_utr_t;

/* Universal I2C/SMBUS read-write transaction 
* wrlen - размер tr.wrlen[] (определяется по размеру пакета) */
int I2CBusUtr(void * outdata, i2c_utr_t *tr, unsigned int wrlen);
 

pvvx

Активный участник сообщества
Вот простая типовая SMBUS операция чтения c длиной номера регистра в 1 байт: start + адрес i2c c wr + номер регистра + start + адрес i2c c rd + чтение 2 байта + stop
upload_2020-2-8_17-59-6.png

А вот не типовая операция - адрес с чтением + байт записи (!) + чтение 3-х байт: start + адрес i2c c rd + номер регистра/команда + чтение 3 байта + stop
upload_2020-2-8_18-1-10.png

И всевозможные комбинации...
 

pvvx

Активный участник сообщества
Если вам не ясно для чего нужна передача NACK при приеме последнего байта, то стоит поглядеть к примеру MCP4725 и чтение что тама в ней.
Если будете читать всего 1 или 5 байт с ACK-ками, то всё будет хорошо. Но если захотите прочитать 3 байта - только состояние и значение DAC и не дадите в конце NACK, то MCP4725 зависнет на шине I2С SDA и не даст дать STOP пока не одумается. По её документации незя читать не кратно 5 байтам, но NACK позволяет :p
 

pvvx

Активный участник сообщества
Для EEPROM характерно:
При чтении NACK указывает - больше читать не хочу:
upload_2020-2-8_18-45-16.png
При записи:
upload_2020-2-8_18-45-36.png
Но если вы превысите размер буфера записи или границу какого сегмента, то микросхема сгенерирует NACK и вы должны прекратить запись и ограничить размер записываемых за раз байт.
И так-же подобные комбинации...
 

pvvx

Активный участник сообщества
А в Arduino - там сотни драйверов и полная помойка с I2C, да у каждого типа MCU своя помойка :) :) :p
Аналогично полная помойка и у любого дипломированного креативного западного клоуна программиста от любого бренда.
 

cheblin

Member
банщик решил сюда ударно перепечатать все что выучил по I2C ?

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

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

pvvx

Активный участник сообщества
банщик решил сюда ударно перепечатать все что выучил по I2C ?

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

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

pvvx

Активный участник сообщества
это совершенно неимеет никакого отношения к процессу, ни способствует ему и не тормозит... белый шум.
"Белый шум" перерос в универсальный USB/BLE <-> I2C/ADC/DAC адаптер не дождавшись когда AdHoc сможет генерировать драйвера для js или вообще для чего либо.
 

cheblin

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

скоро.
 

pvvx

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

скоро.
Тем временем Visual Basic закончил своё существование (MS объявила о полном закрытии его сопровождения), как это периодически происходит со всеми языками высокого уровня. Из всех остаются только СИ и С++. Rust ожидает та-же история...
Пока ещё актуален и распространен javascript из-за браузеров но AdHoc не имеет его поддержки.
 

cheblin

Member
javascript из-за браузеров но AdHoc не имеет его поддержки.
банщик, перестань болтать ерундой. даже с учётом того что ты далёк от програмирования, уж про typescript почитал бы, угу.




со всеми языками
... и с паскудным алголом ( ПаскАль) например ешё раньше.
 

pvvx

Активный участник сообщества
банщик, перестань болтать ерундой. даже с учётом того что ты далёк от програмирования, уж про typescript почитал бы, угу.
Креативный боксер - я давно знаю что такое typescript. Да и в этих делах до вашего рождения.
Подрастете - поймете про что написал.
Всё равно смоетесь ничего не доделав...
 

pvvx

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

pvvx

Активный участник сообщества
Уже третья тема-простыня спама от вас про AdHoc, а итогов как не было, так и нет.
Видимо плохо читаете и не вникаете в суть, того что вам описано.
 

pvvx

Активный участник сообщества
Тем временем, без всяких AdHoc PowerProfiler BLE уже в браузере на любой платформе с полными исходниками и примером теста собственного потребления модуля:

Разрисовать HTML страничку и использовать какую свою графическую либу можете сами, как и создать класс устройства в javascript.
На это не требуется много времени, а нужно заниматься дизайнерством...
 

pvvx

Активный участник сообщества
Тем временем и STM32F103С8T6 изучаемый креативным боксером так-же закончил своё существование на али, т.к. превратился в антиквариат и стоит дороже новых чипов...
 

pvvx

Активный участник сообщества
Тем временем, UART умирает даже в Arduino, замещаясь USB... Т.е. основное предназначение и интерфейс AdHoc закончило своё существование и превратилось в антиквариат.
 

cheblin

Member
банщик не понимаю, к чему эти протыни поллюций?

во-первых чтоб я так жил как UART умирает...
во-вторых какое отношение UART имеет к AdHoc protocol?
AdHoc protocol работает с массивом байт. ему соверщенно пофиг откуда они были получены и куда будут отправлены.
 

pvvx

Активный участник сообщества
банщик не понимаю, к чему эти протыни поллюций?
Я не бекаю на ващих окраинных языках.
во-первых чтоб я так жил как UART умирает...
во-вторых какое отношение UART имеет к AdHoc protocol?
По статье его зарождения и вашим напевам в данном форуме.
AdHoc protocol работает с массивом байт.
ему соверщенно пофиг откуда они были получены и куда будут отправлены.
Тем временем, сколько бы ни появилось новых проприетарных пром. протоколов, базовый Modbus как и CИ в языках программирования живее всех живых :p
Оно тоже работает с массивом байт :p
И сколько бы креативный боксер его не ругал, но Modbus является базовым и присутствует во всех пром. устройствах PLC, панелях оператора и т.д. :p

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