Commit Graph

62 Commits

Author SHA1 Message Date
Youen Toupin
3e251a82f6 integrated Timer1 library (instead of custom code) ; but for an unknown reason it breaks the 1-wire communication (timer code doesn't work at all, or timings are wrong, or both) ; search algorithm is broken, and probably everything else as well 2017-05-03 22:06:09 +02:00
Youen Toupin
64b496a549 Merge branch 'master' into timer1 2017-05-03 21:59:50 +02:00
Youen Toupin
21dbf75342 improved visual intellisense integration 2017-05-03 21:59:20 +02:00
Youen Toupin
18d9e257d2 Timer1 library from https://github.com/PaulStoffregen/TimerOne aaeb4a36f5f23e99e6011bea77cf76abb912e13a 2017-05-01 18:42:01 +02:00
Youen Toupin
c21e3ea835 - fixed presence pulse timings, according to andrewradke feedback (https://github.com/neuoy/OneWireArduinoSlave/issues/4)
- visual studio intellisense fix
2017-04-30 22:48:19 +02:00
Youen Toupin
c819cfdf17 Merge remote-tracking branch 'remotes/github_ntruchsess/attiny' 2017-04-30 21:44:23 +02:00
Youen Toupin
a108089f02 fixed probable cause of rare 1-wire bus deadlock where the Arduino would not release the bus and keep pulling it low forever (thanks to fari on http://www.stm32duino.com/viewtopic.php?f=9&t=1852 for posting this fix) 2017-04-25 21:11:19 +02:00
Youen Toupin
3e75b83248 updated sample code with new function names 2016-03-20 10:11:01 +01:00
Youen Toupin
f068849a7d - breaking change: writeBit has been renamed to beginWriteBit to show it's asynchronous, and a new function writeBit has been introduced, which is synchronous and can't be called from an interrupt handler
- fixed possible bugs when a write operation is canceled and a timer interrupt is still registered
2016-03-20 08:58:43 +01:00
Youen Toupin
b71858b9a3 - fixed synchronous write bugs
- added possibility to log messages generated by OneWireSlave
2016-03-20 08:58:18 +01:00
Youen Toupin
b92a13a59d - breaking change: OneWireSlave::write has been renamed to OneWireSlave::beginWrite, to show it's asynchronous. A new function OneWireSlave::write has been introduced, which is synchronous (and can't be called from an interrupt handler)
- added code to make sure a client completion callback will always get called, even if it's because of a reset or an error
2016-03-20 08:58:01 +01:00
Youen Toupin
53f873e01d ignored .opendb files 2016-03-20 08:37:36 +01:00
Youen Toupin
9c5e5a72a6 upgrade to visual studio 2015 2016-03-20 08:36:27 +01:00
Youen
e694ed99d8 Merge pull request #6 from ntruchsess/searchcommands
Add conditional-search and resume commands
2016-03-20 08:22:43 +01:00
ntruchsess
ad86c43611 move register-access to LowLevel.h, add support for ATtiny85 2016-03-10 22:03:22 +01:00
ntruchsess
13ff131110 add conditional search command (0xEC) 2016-02-27 11:39:45 +01:00
ntruchsess
a31256f60d implement resume command (0xA5) 2016-02-26 10:06:59 +01:00
Youen
5621c45c02 Merge pull request #5 from ntruchsess/fixresetdetection
fix missing detection of reset during write of zero-bits
2016-02-25 19:03:38 +01:00
ntruchsess
c7457d0d8a fix missing detection of reset during write of zero-bits 2016-02-23 17:23:54 +01:00
Youen Toupin
887741a806 - added possibility to be notified of individual bits received
- fixed bug when sending individual bits or canceling a write operation
- DS18B20 sample now sends zeros during conversion, and ones when conversion is finished
2015-12-14 23:00:27 +01:00
Youen Toupin
c5a141b57e added code to write individual bits (instead of bytes), and to cancel the current write operation before it completes 2015-12-14 22:32:26 +01:00
Youen Toupin
35b866d933 basic implementation of DS18B20 emulation 2015-12-13 22:03:13 +01:00
Youen Toupin
b97a643227 - breaking change: global instance of OneWireSlave renamed from "OneWire" to "OWSlave" to avoid conflict with the OneWire master library in case someone wants both libraries in the same sketch
- upgrade to visual 2015 and arduino IDE 1.6.6
2015-12-13 21:33:43 +01:00
Youen Toupin
216fcf8cb5 - methods that don't write memory now take const parameters
- simplified pin number management
2015-08-11 21:18:35 +02:00
Youen Toupin
0790201af9 removed debug code 2015-08-11 20:40:57 +02:00
Youen Toupin
baaf4c474b Merge branch 'master' of ssh://thor:22/OneWireIO 2015-08-09 09:54:01 +02:00
neuoy
d3ad2ab361 Update README.md 2015-08-09 09:51:23 +02:00
neuoy
d3a465828d Update LICENSE 2015-08-09 09:20:47 +02:00
neuoy
085759c403 Initial commit 2015-08-09 09:19:19 +02:00
Youen Toupin
14711750d6 cleaned up project for public distribution (removed debug and unrelated stuff) 2015-08-09 09:15:32 +02:00
Youen Toupin
cf5f36b503 improved high-level protocol 2015-08-08 22:36:24 +02:00
Youen Toupin
4d94761fd5 - implemented simple protocol to turn an output on/off
- disabled debug code
2015-04-27 23:17:45 +02:00
Youen Toupin
c0a183c769 finished implementation of most important 1-wire functionalities 2015-04-27 21:53:31 +02:00
Youen Toupin
b5fa47249d ROM commands, read/write bytes (wip) 2015-04-26 22:01:30 +02:00
Youen Toupin
300a6be90f added background reset check (in case the master sends a reset while another operation had started) 2015-04-26 21:09:30 +02:00
Youen Toupin
2294595995 - fixed bug in Pin::attachInterrupt (this is an arduino bug : interrupts that have been triggered before the handler is attached will cause it to be called immediately ; but only interrupts happening after should call the handler)
- changed OneWireSlave interface to make it completely static (there is an instance, but it's only a wrapper to the static stuff, so that the syntax looks nice)
- the search rom algorithm works fine most of the time, but sometimes it fails, probably because of interrupts being blocked at the wrong time (small delay to respond to the master to send a zero)
2015-04-26 20:24:11 +02:00
Youen Toupin
b492dc675c refactoring wip : search rom (doesn't work yet) 2015-04-26 19:46:52 +02:00
Youen Toupin
dedc44d9d7 refactoring wip : read bytes 2015-04-26 01:08:37 +02:00
Youen Toupin
22e5d690a0 refactoring (wip) 2015-04-25 21:40:38 +02:00
Youen Toupin
0f941a85fb missing files 2015-04-25 13:04:32 +02:00
Youen Toupin
b6f8497f64 start of code refactoring (OneWireSlave class) 2015-04-25 13:04:10 +02:00
Youen Toupin
55d1bbf127 more robust reset detection, now purely implemented in interrupts, that allows the match rom algorithm to work even if our rom is not the first one 2015-04-25 12:19:31 +02:00
Youen Toupin
cf3f309ade added code to monitor time spent in interrupt handlers 2015-04-25 00:19:47 +02:00
Youen Toupin
c0250f685b more reliable search rom (but also with more active waiting) 2015-04-25 00:06:00 +02:00
Youen Toupin
f53e2adae8 small optimization 2015-04-24 22:55:29 +02:00
Youen Toupin
6b4f76c5f4 search rom works, but not completely reliable yet 2015-04-24 22:34:55 +02:00
Youen Toupin
74b3f2100e search rom algorithm almost working (but code is in an awful state, and master doesn't recognize the ROM yet, maybe a CRC issue) 2015-04-24 20:17:29 +02:00
Youen Toupin
68f4fce878 attempt to implement search ROM algorithm (doesn't work at this time) 2015-04-24 12:13:29 +02:00
Youen Toupin
b236a684ca implemented reading of bytes sent by the 1-wire master 2015-04-24 11:29:59 +02:00
Youen Toupin
8c473f50e4 implemented presence with timer interrupts 2015-04-24 10:30:11 +02:00