@ru_arduino

Страница 2844 из 7737
bebebe
17.07.2017
18:18:36
покажите что выводит эта команда

Влад
17.07.2017
18:18:46
я хочу получить из каждого значения uint8_t

[vvzvlad@MBP-Zaytsev-4:~/Documents/Unwired/contiki_ud_ng/unwired/incotex]$ git describe —dirty —always —tags v0.43-dev-93-gcec2e7f-dirty

если сделать version %s.%s, то все ок.

Google
bebebe
17.07.2017
18:20:21
хм, попробуйте их printf("version %d.%d", BIG_VERSION, LITTLE_VERSION)

Влад
17.07.2017
18:20:30
но мне надо еще и передать, а не вывести.

та же фигня, уже пробовал

./dag_node.c:1071:54: warning: format '%d' expects argument of type 'int', but argument 4 has type 'char *' [-Wformat=]

bebebe
17.07.2017
18:21:45
воот

надо привести из char к int'у

Влад
17.07.2017
18:26:41
как? (uint8_t)BIG_VERSION не работает ... ./dag_node.c:1074:39: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (uint8_t)BIG_VERSION, (uint8_t)LITTLE_VERSION); ... version 180.248

bebebe
17.07.2017
18:27:12
блееее

покажи весь код

Влад
17.07.2017
18:30:04
BIG_GIT_VERSION := $(shell git describe —dirty —always —tags | sed -r 's/v([0-9]+)\.([0-9]+).*/\1/') LITTLE_GIT_VERSION := $(shell git describe —dirty —always —tags | sed -r 's/v([0-9]+)\.([0-9]+).*/\2/') DEFINES+=BIG_VERSION=\"$(BIG_GIT_VERSION)\" DEFINES+=LITTLE_VERSION=\"$(LITTLE_GIT_VERSION)\" printf("Node started, %s mode, %s class, version %"PRIu8".%"PRIu8"\n", rpl_get_mode() == RPL_MODE_LEAF ? "leaf" : "no-leaf", CLASS == CLASS_B ? "B(sleep)" : "C(non-sleep)", (uint8_t)BIG_VERSION, (uint8_t)LITTLE_VERSION);

Dolphin
17.07.2017
18:30:44
нах тебе строку в инт преобразовывать? Выводи сразу строкой

Влад
17.07.2017
18:31:01
uint8_t length = 23; uint8_t udp_buffer[length]; udp_buffer[0] = PROTOCOL_VERSION_V1; udp_buffer[1] = CURRENT_DEVICE_VERSION; udp_buffer[2] = DATA_TYPE_STATUS; udp_buffer[3] = ( (uint8_t *)parent_addr )[8]; udp_buffer[4] = ( (uint8_t *)parent_addr )[9]; udp_buffer[5] = ( (uint8_t *)parent_addr )[10]; udp_buffer[6] = ( (uint8_t *)parent_addr )[11]; udp_buffer[7] = ( (uint8_t *)parent_addr )[12]; udp_buffer[8] = ( (uint8_t *)parent_addr )[13]; udp_buffer[9] = ( (uint8_t *)parent_addr )[14]; udp_buffer[10] = ( (uint8_t *)parent_addr )[15]; udp_buffer[11] = *uptime_uint8_t++; udp_buffer[12] = *uptime_uint8_t++; udp_buffer[13] = *uptime_uint8_t++; udp_buffer[14] = *uptime_uint8_t; udp_buffer[15] = *rssi_parent_uint8_t++; udp_buffer[16] = *rssi_parent_uint8_t; udp_buffer[17] = temp; udp_buffer[18] = voltage; udp_buffer[19] = BIG_VERSION; udp_buffer[20] = LITTLE_VERSION; udp_buffer[21] = DATA_RESERVED; udp_buffer[22] = DATA_RESERVED;

Google
Dolphin
17.07.2017
18:31:43
ну тогда преобразовывай, но не так же епта

bebebe
17.07.2017
18:31:52
бле

Влад
17.07.2017
18:32:00
как?

я же новичок в си

bebebe
17.07.2017
18:32:48
сек

у тебя uint8_t жи, это ровно байт

Dolphin
17.07.2017
18:33:44
int atoi(const char* str)

stdlib

Влад
17.07.2017
18:36:16
функцией?

а на этапе компиляции не?

Dolphin
17.07.2017
18:36:55
неа

а на этапе компиляции не?
а printf у тебя на этапе компиляции выводит? )

Влад
17.07.2017
18:39:17
оно же не меняется в процессе работы

а так будет храниться строка и каждый раз преобразовываться? или компилятор соптимизирует?

bebebe
17.07.2017
18:40:27
#include <stdio.h> #include <inttypes.h> int main(int argc, char argv) { char major_s = 0; char minor_s = 43; printf("version: %d.%d\n", (uint8_t) major_s, (uint8_t) minor_s); }

./a.out

version: 0.43

Dolphin
17.07.2017
18:40:51
оО

version: 0.43
не путай его сам то ))

Name
17.07.2017
18:41:19
магия вне Хогвартса запрещена

Google
bebebe
17.07.2017
18:41:41
Dolphin
17.07.2017
18:41:58
а так будет храниться строка и каждый раз преобразовываться? или компилятор соптимизирует?
а ты думаешь когда ты принту даешь инт вывести, он его не преобразует в строку?

Влад
17.07.2017
18:42:41
а ты думаешь когда ты принту даешь инт вывести, он его не преобразует в строку?
да забей на printf, он там для отладки. мне эти два байта передать через сеть надо, а не вывести.

Dolphin
17.07.2017
18:42:45
wut?
ну блядь ты че епта у него не char, а char*

Влад
17.07.2017
18:43:31
так-то char тоже самое что и uint8

bebebe
17.07.2017
18:45:04
#include <stdio.h> #include <stdlib.h> int main(int argc, char argv) { char *major_s = "0"; char *minor_s = "43"; printf("version: %d.%d\n", strtol(major_s, '\0', 10), strtol(minor_s, '\0', 10)); } ~

Влад
17.07.2017
18:45:43
char* != char
ну я тоже самое сказал)

Dolphin
17.07.2017
18:45:44
он хочет на вход из баша получить uint8

bebebe
17.07.2017
18:46:15
пусть получает

я разрешаю

за 3,5$

Dolphin
17.07.2017
18:46:36
за 3,5$
барыган детектед )

в биткоинах бери :D

Влад
17.07.2017
18:46:54
он хочет на вход из баша получить uint8
я получаю из баша число от 0 до 255 в виде строки символов, . я хочу превратить эту строку в байт

Dolphin
17.07.2017
18:47:13
я не знаю как, я тебе показал способ

Влад
17.07.2017
18:47:47
int atoi(const char* str)
да, так работает. а ничего, что она int возвращает? я хочу 0-255

Dolphin
17.07.2017
18:48:17
(uint8_t)atoi(str);

Google
Dolphin
17.07.2017
18:48:35
передашь больше байта, транкнет

Влад
17.07.2017
18:49:23
DEFINES+=BIG_VERSION=$(BIG_GIT_VERSION)?

LexsZero
17.07.2017
18:49:33
угу

Dolphin
17.07.2017
18:49:56
Влад
17.07.2017
18:50:32
о, заработало

LexsZero
17.07.2017
18:50:39
так сишный компилятор видит "1" и закономерно считает что это строка

Dolphin
17.07.2017
18:51:06
ну это то правильно он жеж умный сцук )

о, заработало
теперь у тя DEFINES сломался? ))

Влад
17.07.2017
18:53:09
почему?

Dolphin
17.07.2017
18:53:27
ну потому что он складывает все в кашу )

Влад
17.07.2017
18:57:29
да вроде нет

все работвет

LexsZero
17.07.2017
18:57:59
да нет, ничего не поменялось

с точки зрения шелла, FOO=\"BAR BAZ\" и FOO=BAR BAZ - это однохуйственно два токена.

*аргумента

Dolphin
17.07.2017
18:59:39
так я поэтому и решил, что так как шеллу похуй, он и интерпретирует строкой, и передает

LexsZero
17.07.2017
19:00:31
шелл ничего не интерпретирует никогда. он бьет инпут по IFS с учетом квотинга и пихает его в argv, все.

Dolphin
17.07.2017
19:01:03
дык argv же char*

Google
LexsZero
17.07.2017
19:01:19
угу.

слештред

Влад
17.07.2017
19:02:06


Dolphin
17.07.2017
19:02:23
?

bebebe
17.07.2017
19:02:23
5$ итого

Dolphin
17.07.2017
19:02:48
5$ итого
так тыж и не помог в итоге :3

bebebe
17.07.2017
19:20:39
так тыж и не помог в итоге :3
Не лезь в этот бизнес

Dolphin
17.07.2017
19:42:18
Не лезь в этот бизнес
В какой такой - этот?

bebebe
17.07.2017
19:43:32
В какой такой - этот?
Сириуз бля бизнес

Dolphin
17.07.2017
19:43:48
?

Я уже давно там так-то :D

Еще и должен остался, так что это ты лучше не лезь :3

bebebe
17.07.2017
19:49:26
что такое берега, и как их попутать

LexsZero
17.07.2017
19:50:34
просить в чятах денег за помощь бесполезно

особенно постфактум

говорю как человек который этим занимается последние лет пять

bebebe
17.07.2017
19:59:15
ты говоришь как человек который воспринимает серьезно буквы и цифры которые пишут в интернетах

Alexandre
17.07.2017
20:10:08
Йо. Ну и нововведение... Если при открытом чате телеграма решительным движением поднести телефон к уху, он начинает запись аудиосообщения. И как это убрать? ?

Dolphin
17.07.2017
20:10:14
bebebe
17.07.2017
20:10:44
Dolphin
17.07.2017
20:11:29
одна история интересней другой
называй вещи своими именами, меньше шансов остаться недопонятым ;)

Страница 2844 из 7737