LINUX.ORG.RU

Датчик температуры


0

0

Сорри, но судя по трэду:

http://forums.gentoo.org/viewtopic-t-368445.html
и
http://www.kusto.com.ru/temperature/

я все правильно (вроде, представлял)!

У кого получилось собрать?
Поделитесь плиз!

# digitemp -i -s /dev/ttyS3
DigiTemp v3.2.0 Copyright 1996-2003 by Brian C. Lane
GNU Public License v2.0 - http://www.brianlane.com
Error 5:   Adapter Not Detected
Error 7: DS2480B: Bad Response
Error 7: DS2480B: Bad Response
Error 7: DS2480B: Bad Response
Error 7: DS2480B: Bad Response
Error 7: DS2480B: Bad Response
Error 7: DS2480B: Bad Response
Error 7: DS2480B: Bad Response
Error 7: DS2480B: Bad Response
Error 7: DS2480B: Bad Response


digitemp-3.2.0 версии


Почему DS2480B?!

У меня куплен и стоит:
DS18S20

Помогите плиз, просто СТРАННО это все!

ЗЫ
Предвосхищая вопрос, если вынуть датчик:
# digitemp -i -s /dev/ttyS3
DigiTemp v3.2.0 Copyright 1996-2003 by Brian C. Lane
GNU Public License v2.0 - http://www.brianlane.com
Error 5: DS2480B Adapter Not Detected
Error 10: Read COM Failed
Error 10: Read COM Failed
Error 10: Read COM Failed
Error 10: Read COM Failed
Error 10: Read COM Failed
Error 10: Read COM Failed
Error 10: Read COM Failed
Error 10: Read COM Failed
Error 10: Read COM Failed


Т.е., что-то видиит

=====================

DS2480B – Драйвер однопроводной сети MicroLAN, обеспечивающий
отработку 1-Wire-протокола на линиях значительной 
протяженности, обслуживающих большое число однопроводных 
устройств. Соответствует всем стандартам связи iButton и 
MicroLAN. Предназначен для организации мастера однопроводной 
линии на базе интеллектуального устройства, имеющего 
последовательный интерфейс. Например, стандартный СОМ-порт 
компьютера или узел UART микроконтроллера. Позволяет выбирать
скорость обмена данными со стороны последовательного порта 
обмена с ведущим устройством (9600, 19200, 57600 или 115200 
бит/сек). Предоставляет возможность изменения параметров 
сигналов на однопроводной линии, используя так называемый 
программируемый механизм активной подтяжки шины данных 
1-Wire-магистрали, обеспечивающий качественную передачу 
сигналов в длинных линиях и увеличение нагрузочной 
способности ведущего по количеству обслуживаемых им ведомых 
устройств. Кроме того, содержит встроенный датчик тока 
потребления однопроводной линии. Используя его показания 
можно реализовать еще более эффективный алгоритм работы 
активной подтяжки в перегруженных и проблемных 1-Wire-линиях.
 Поддерживает опцию 12-тивольтового программирования EPROM 
памяти и 5-тивольтовой подтяжки обслуживаемой линии для 
цифровых термометров и устройств, содержащих 
энергонезависимую память EEPROM. Реализует под управлением 
программного обеспечения ведущего интеллектуального 
устройства усовершенствованный протокол обмена данных на 
однопроводной линии. Позволяет работать на нескольких 
скоростях обмена, выбирая наиболее оптимальную для 
конкретного случая (длины линии, ее качества, количества 
задействованных устройств), в том числе режим Overdrive. 
Питание прибора производится напряжением от 4,5В до 5,5В. 

Устройство размещается в корпусе для поверхностного монтажа 
SOIC-8.


Это он:
http://www.elin.ru/1-Wire/images/2480.jpg

=====================

Судя по виду, не имеет никакого отношения к задачке =(

PSS
Может, у кого-то есть идеи, куда порыть?
Вероятность, что что-то спалил 0!
★★★★★

>Error 5: DS2480B Adapter Not Detected >Error 10: Read COM Failed

>Т.е. что-то видит

Т.е. ты не умеешь читать. Датчик не обнаружен. Чтение с com-порта не удалось.

Ничего не видит и поэтому выдает ошибки.

У тебя сам com-порт включен? В bios'е там? И ты тот com-порт указываешь?

jackill ★★★★★
()
Ответ на: комментарий от jackill

изя таки там написано что это происходит когда вынут датчик а когда на месте пишет "бад респонсе".

возможно требуеться откомпилировать digitemp конкретно под ds1820 (если там такое есть) у самого валяеться чип никак руки не дойдут собрать.

anonymous
()
Ответ на: комментарий от jackill

Там я дал пример, когда оторвано!

Это, когда есть, предполагаемый ответ:
Error 7: DS2480B: Bad Response


надо в Makefile-е поставить LOCK=no вместо yes

Собирать с:

make ds9097 

В генту:
SERIAL_DRIVER=ds9097 emerge digitemp 

(Спасибо: ba)
Сам бы недопер быстро, т.к. с портов собирал и не заметил =)

Вечером протестирую.

ManJak ★★★★★
() автор топика
Ответ на: комментарий от ManJak

Проверил схемы, девайсы.
Зацикливается :?

# strace digitemp -i -s /dev/ttyS3
execve("/usr/bin/digitemp", ["digitemp", "-i", "-s", "/dev/ttyS3"], [/* 60 vars */]) = 0
uname({sys="Linux", node="manjakws", ...}) = 0
brk(0) = 0x8054000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=102972, ...}) = 0
mmap2(NULL, 102972, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40017000
close(3) = 0
open("/lib/libm.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P4\0\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=157432, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40031000
mmap2(NULL, 135328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40032000
mmap2(0x40052000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f) = 0x40052000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0iQ\1\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1211416, ...}) = 0
mmap2(NULL, 1125564, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40054000
mprotect(0x40160000, 27836, PROT_NONE) = 0
mmap2(0x40161000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10c) = 0x40161000
mmap2(0x40165000, 7356, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40165000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40167000
mprotect(0x40161000, 4096, PROT_READ) = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0x401676b0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
munmap(0x40017000, 102972) = 0
open("/dev/urandom", O_RDONLY) = 3
read(3, "\27?\4\225", 4) = 4
close(3) = 0
brk(0) = 0x8054000
brk(0x8075000) = 0x8075000
open(".digitemprc", O_RDONLY) = -1 ENOENT (No such file or directory)
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 3), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000
write(1, "DigiTemp v3.2.0 Copyright 1996-2"..., 53DigiTemp v3.2.0 Copyright 1996-2003 by Brian C. Lane
) = 53
write(1, "GNU Public License v2.0 - http:/"..., 51GNU Public License v2.0 - http://www.brianlane.com
) = 51
access("/dev/ttyS3", R_OK|W_OK) = 0
open("/dev/ttyS3", O_RDWR) = 3
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_START or TCSETS, {B115200 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TCFLSH, 0x2) = 0
write(1, "Turning off all DS2409 Couplers\n", 32Turning off all DS2409 Couplers
) = 32
ioctl(3, TCFLSH, 0x2) = 0
ioctl(3, SNDCTL_TMR_START or TCSETS, {B9600 -opost -isig -icanon -echo ...}) = 0
write(3, "\360", 1) = 1
select(4, [3], NULL, NULL, {5, 0}) = 1 (in [3], left {4, 998000})
read(3, "\0", 1) = 1
ioctl(3, SNDCTL_TMR_START or TCSETS, {B115200 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TCFLSH, 0x2) = 0
write(3, "\0", 1) = 1
select(4, [3], NULL, NULL, {5, 0}) = 1 (in [3], left {4, 999000})
read(3, "\0", 1) = 1
ioctl(3, TCFLSH, 0x2) = 0
write(3, "\0", 1) = 1
select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout)
ioctl(3, TCFLSH, 0x2) = 0
write(3, "\0", 1) = 1
select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout)
ioctl(3, TCFLSH, 0x2) = 0
write(3, "\0", 1) = 1
select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout)
ioctl(3, TCFLSH, 0x2) = 0
write(3, "\377", 1) = 1
select(4, [3], NULL, NULL, {5, 0} <unfinished ...>

ManJak ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.