X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Fplatforms%2Fmulle%2Fchips%2Frv8564%2FHplRV8564.nc;fp=tos%2Fplatforms%2Fmulle%2Fchips%2Frv8564%2FHplRV8564.nc;h=fd14983cebd7ad1ab8994a77e8e4a1976095b21d;hb=0c5481263d4283c74dc3d8773cb6b97ad02e452d;hp=0000000000000000000000000000000000000000;hpb=8282d7042d3f425061482530a8835d095c28096a;p=tinyos-2.x.git diff --git a/tos/platforms/mulle/chips/rv8564/HplRV8564.nc b/tos/platforms/mulle/chips/rv8564/HplRV8564.nc new file mode 100755 index 00000000..fd14983c --- /dev/null +++ b/tos/platforms/mulle/chips/rv8564/HplRV8564.nc @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2009 Communication Group and Eislab at + * Lulea University of Technology + * + * Contact: Laurynas Riliskis, LTU + * Mail: laurynas.riliskis@ltu.se + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the + * distribution. + * - Neither the name of Communication Group at Lulea University of Technology + * nor the names of its contributors may be used to endorse or promote + * products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL STANFORD + * UNIVERSITY OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * Interface for the RV-8564-C2 real time clock. + * + * @author Henrik Makitaavola + */ +interface HplRV8564 +{ + /** + * Enables/disables the interrupts generated by the RV8564 chip. + */ + command void enableInterrupt(); + command void disableInterrupt(); + + /** + * Enables/disable CLKOUT from the RTC. + */ + command void enableCLKOUT(); + command void disableCLKOUT(); + + /** + * Reads from a register. + * + * @param reg The register to be read. + * @return The value of the register. + */ + command error_t readRegister(uint8_t reg); + + /** + * Writes to a register. + * + * @param reg The register that is written to. + * @param value The value that is written to the register. + */ + command error_t writeRegister(uint8_t reg, uint8_t value); + + /** + * Signals when a register read finished. + * + * @param val The value read from the register. + * @param reg The register the value was read from. + */ + async event void readRegisterDone(error_t error, uint8_t reg, uint8_t val); + + /** + * Signals when a register write finished. + * + * @param reg The register the value was written to. + */ + async event void writeRegisterDone(error_t error, uint8_t reg); + + /** + * Signal when an interrupt occurs. + */ + async event void fired(); +}