А ни у кого нет под рукой примера, как запаковать несколько значений 10-битных, скажем 4 штуки 0..1024 в 5 байт по 8 бит и распаковать назад?) Хочу сразу оптимизировать передачу данных, неохота лишних три байта гнать
А ни у кого нет под рукой примера, как запаковать несколько значений 10-битных, скажем 4 штуки 0..1024 в 5 байт по 8 бит и распаковать назад?) Хочу сразу оптимизировать передачу данных, неохота лишних три байта гнать
всем привет уже не знаю с чем связано, Acer Nitro 7, плата LA-J891P, изначально был пробит питальник проца, проц не выжил,... Читать далее
И резко стало неинтересно работать Я ничего против Кента не имею, но это просто обычный китайский кондей, не лучше и не хуже... Читать далее
Добрый день, ПРОСЬБА О ПОДСКАЗКЕ) Живу в Германии, стоит диф автомат на 40А Работает все отлично, духовка на 2400w и стиралка... Читать далее
Здравствуйте У кого есть в наличии Айфон 6s Проблема - нет подсветки и нет изображения. Это коннектор дисплея,там шестой... Читать далее
Всем добрый день, если кто то шарит в колонках jbl, подскажите в чем проблема хрипа динамиков, играют чисто, когда начинаются... Читать далее
Добрый день. Кто знает в machine expert есть возможность опрашивать устройства модбас по событию? Чтобы не перегружать сеть,... Читать далее
Комментарии: 51
Andrey
а шо такого. Union же есть, опиши две структуры в нем и вперед.
Anonim
Ща поищу примерчики.
Anonim
В целом вкурил, но пока непонятно как хрянящееся в uint16_t реально 10-битное загнать в uint8_t в структуре, да ищщо так чтоб оставшиеся два бита упали на следующую "ячейку", да ищо чтоб второе значение и последующие падали правильно
Andrey
если по простому, то 6 бит из 16 придется потратить ни на что. если недопустимо, рам в обрез итп - то надо всякие трюки проделывать. кстати, альтернативой может быть сборка какого-нить Uint64_t с масками, сдвигами, и прочими поэтессами.
Vga
в котором те же 64 бита, которые займут 4 ворда
Andrey
да. но мы хотя бы весь его не будем пересылать (там в этом был изначальный вопрос)
Vga
можно просто побить его на битовые поля
Andrey
так наверное даже лучше будет. тоже сделать структуру, а потом уже union причем через union прикрутить массив, чтобы в передаче цикл сделать
Anonim
Ну в том и суть, что хотел сэкономить время на передаче данных в эфире для снижения задержек. Но если много гемора и вычислений - может получиться хуже, чем передавать по два байта
Andrey
мисры с автосарами - боль и унижение. разница в том, когда всякие сдвиги и маски - это ты руками делаешь, а унионы с битфилдами - это по сути то же самое но как бы само, под крышечкой.
Anonim
Попробую забить на эту идею скорее всего, маловероятно что выиграю что то)
Andrey
читаемость против экономии тут
Anonim
Дело не в экономии эфира или памяти, хотел задержки подсократить. Но три байта в эфире не так уж и накладно, а вычисления, запаковка, потом распаковка.. хз
Karboflex
зависит от мощности железа и пропускной способности передаста)
Anonim
Угу, прикинуть надо
Andy
Юзай программный spi, пакуй биты в массив. Я так 5 бит в vfd дисплей паковал. Удобно.
Anonim
Да так и хочу, мне в радио по spi то и гонять. Как их uint16_t 4шт загнать в byte 5шт? Заведомо в каждом uint16 число 10 бит
Peter
T-Flex сапр нормального человека. Парасолид-ядро, все эксперименты, движения сборки, рэндер - в одном пакете. Море библиотек. Студенческий - бесплатно.
Fedor
Да, но с рядом ограничений, например, без инженерного анализа.
Karboflex
при том что там ядро от солида) его низя пристыковать к другому софту как солид)
Fedor
вас ожидает ожирение
Peter
Ничего подобного. Анализ и вся физика - и механика и электричество, и термодинамика.
Fedor
в какой версии?
Karboflex
в нормальном софте по 5-6 моделей) не вижу смысла загоняться в симуляцию если софт её толком не умеет и при этом не стыкуется с софтом который умеет
Fedor
в коммерческой версии с этим проблем всё же нет
Karboflex
в комерсе вобще никаких проблем там жри чё дают) и всё)
Andrey
по сути надо их сложить в Unsigned INT32не хватит... ну и не пакуй тогда. отправляй как естьAnonim
Ладно
Andrey
а не радиоуправление ли ты часом сотворяешь?
Anonim
его самое, дальнее захотелось на нем освоить работу с радиомодулем на sx1278
Andrey
хреновый выбор. очень медленный канал, для управления в реальном времени недостаточен
Eugene
Зато жрет мало.
Andrey
сомнительный плюс в вопросах управления. но, если не нужна надежность канала, то мб и хорошо.
Eugene
Кто-нить подскажет, это от какой модификации? А то одни пишут, что от японской, другие - что дорестайл... Смотря чем управлять... И откуда.
Anonim
почему? на похожем существуют lrs, тот же qczek просто не в lora а fsk насколько я знаю
Andrey
ну вот только если FSK... когда я делал управление, остановился на NRF с усилителями.
Anonim
врядле я им пробью километров 50 )
Andrey
это да но 1278 в режиме FSK вряд ли даст эти 50 км :) лора как раз за счет широкой полосы и низкой битовой скорости дает дальность. я на 1276 опыты ставил, на 870 МГц. получил стабильные 500м с земли в застройке. с антенной, размещенной максимально неудобно для работы :) (теперь понятно зачем надо упаковывать данные)
Jirafivanich
Чонить типа bcd смотрел для сжатия?
Anonim
даже не пытался пока что) освоюсь с простейшим
Jirafivanich
https://ru.m.wikipedia.org/wiki/%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D0%BE-%D0%B4%D0%B5%D1%81%D1%8F%D1%82%D0%B8%D1%87%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4
Andrey
а как BCD поможет при сжатии 10-битных данных?
Jirafivanich
ключевое слово "типа"
Andrey
это неправильное слово. правильные слова - struct, union
Andy
Да как как, сделай 10 битный spi и пихай данные в байты. Как набралось 8 бит - следующий байт. Как отправил 10 бит от 16 битного числа - следующее число. И все. В приемнике обратно.
Andrey
а радио прожует 10-битный SPI ?
Klest
Сдвигай в стркутуру через указатель. Но муторно.
Eugene
А мк-то какой? Сколько битов умеет передавать?
Andy
А дальше пофиг как ты 8битные эти числа передашь. В радио вобще spi нет, там же 1 канал. Для spi 2 надо.