Помогите разобраться с библиотекой DS-1302

figley_migley
figley_migley аватар
Offline
Зарегистрирован: 05.09.2014

Приветствую участников сообщества.

Помогите разобраться со строчками кода библиотеки DS-1302

char *DS1302::getTimeStr(uint8_t format)
{
	char *output= "xxxxxxxx";
	Time t;
	t=getTime();
	if (t.hour<10)
		output[0]=48;
	else
		output[0]=char((t.hour / 10)+48);
	output[1]=char((t.hour % 10)+48);
	output[2]=58;
	if (t.min<10)
		output[3]=48;
	else
		output[3]=char((t.min / 10)+48);
	output[4]=char((t.min % 10)+48);
	output[5]=58;
	if (format==FORMAT_SHORT)
		output[5]=0;
	else
	{
	if (t.sec<10)
		output[6]=48;
	else
		output[6]=char((t.sec / 10)+48);
	output[7]=char((t.sec % 10)+48);
	output[8]=0;
	}
	return output;
}

Что означают цифры в квадратных скобках output и что означают цифры после знака = ?

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

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а что мешает просто не использовать секунды? зачем сразу либу переделывать

figley_migley
figley_migley аватар
Offline
Зарегистрирован: 05.09.2014

Как не банально звучит - желание научиться, освоить что - то новое.  В сокращенном варианте можно секунды и не использовать - это я прошёл. Хочется идти далее. Шашками уже давно не машу - изучаю для себя - можно сказать по пенсионерски/стариковски )).

 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

может направить энергию в более нужное русло? хотя если хочется сиди разбирайся))

figley_migley
figley_migley аватар
Offline
Зарегистрирован: 05.09.2014

jeka_tm пишет:

может направить энергию в более нужное русло? хотя если хочется сиди разбирайся))

Научи, в какую? ) Вот сижу, разбираюсь. 

сноб от Ардуино? )) ну-ну.))

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

для цифр времени если правильно понял сделан массив в которых хранятся цифры часов минут секунд. зачем прибавляется 48 не понял

цифра в [] скобках означает номер элемента в массиве

да хоть сноб, хоть флудер. уже пофиг

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

цифры 48 и 58 скорее всего связаны с тем видом который приходит от часов. его приводят к нормальному виду

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а насчет русла. смотря чем увлекаешься.

кто то кошек и собак любит. можно автоматическую кормушку им сделать, 

кто то цветы, тогда автоматический полив и подсветка,

кто то чтобы все светилось, тогда можно свое лазерное шоу сделать (но это сложновато в плане железа),

зависит от тебя а не от меня

figley_migley
figley_migley аватар
Offline
Зарегистрирован: 05.09.2014

Много букв, здОрово... 

То, сто 48 58 и прочие цифирки указывают на позиции вывода - показалась с самого начала,

смутило то, что квадратных скобках сквозная нумерация... 

Stephan
Offline
Зарегистрирован: 01.10.2015

Дабы не плодить новые темы...

Пытаюсь прикрутить эту библиотеку к due (да, видел   Not tested, Unsupported = Not tested, Unsupported), и тем не менее,

почему когда я вставляю, для проверки, межу 9-й и 10-ой строками

output[0]=char(50);
Serial.println(output[0]);

принт выдает мне вместо ожидаемой "2" забитое туда изначально "х", почему не работает char() ?