/* * spreadspace avr utils - usb-1wire example * * * Copyright (C) 2013-2014 Bernhard Tittelbach * basically this is refactored and enhanced code from: * http://www.pjrc.com/teensy/td_libs_OneWire.html * * This file is part of spreadspace avr utils. * * spreadspace avr utils is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * spreadspace avr utils is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with spreadspace avr utils. If not, see . */ #include #include #include #include #include #include "util.h" #include "led.h" #include "usbio.h" #define MAX_OWI_DEVICES 8 #include "onewire.h" #include "ds1820.h" uint8_t owi_addr_[MAX_OWI_DEVICES][8]; uint8_t num_owi_dev_found_ = 0; uint8_t num_temp_sensors_ = 0; void discoverOWIBus(void) { uint8_t d=0; led_on(); printf("Searching 1W Bus "); num_owi_dev_found_ = 0; if (owi_reset()) printf(" !something is there! "); owi_reset_search(); _delay_ms(250); while ( owi_search(owi_addr_[ d ])) { d++; printf("%d. found, ", d); led_toggle(); if ( d >= MAX_OWI_DEVICES) break; } num_owi_dev_found_ = d; printf(" done \r\n"); printf("%d devices found\r\n", d); for (d=0; d 0) { int ReceivedByte = fgetc(stdin); if(ReceivedByte != EOF) { handle_cmd(ReceivedByte); } BytesReceived--; } usbio_task(); } }