Implementation of 1-Wire with added Alarm Search Functionality

Dependents:   Max32630_One_Wire_Interface

Committer:
j3
Date:
Fri Mar 18 20:21:05 2016 +0000
Revision:
17:b646b1e3970b
Parent:
16:883becbd85f8
Child:
18:f77e5ee33cdb
Updated library with error codes on return statements

Who changed what in which revision?

UserRevisionLine numberNew contents of line
j3 3:644fc630f958 1 /******************************************************************//**
j3 3:644fc630f958 2 * Copyright (C) 2016 Maxim Integrated Products, Inc., All Rights Reserved.
j3 3:644fc630f958 3 *
j3 3:644fc630f958 4 * Permission is hereby granted, free of charge, to any person obtaining a
j3 3:644fc630f958 5 * copy of this software and associated documentation files (the "Software"),
j3 3:644fc630f958 6 * to deal in the Software without restriction, including without limitation
j3 3:644fc630f958 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
j3 3:644fc630f958 8 * and/or sell copies of the Software, and to permit persons to whom the
j3 3:644fc630f958 9 * Software is furnished to do so, subject to the following conditions:
j3 3:644fc630f958 10 *
j3 3:644fc630f958 11 * The above copyright notice and this permission notice shall be included
j3 3:644fc630f958 12 * in all copies or substantial portions of the Software.
j3 3:644fc630f958 13 *
j3 3:644fc630f958 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
j3 3:644fc630f958 15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
j3 3:644fc630f958 16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
j3 3:644fc630f958 17 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
j3 3:644fc630f958 18 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
j3 3:644fc630f958 19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
j3 3:644fc630f958 20 * OTHER DEALINGS IN THE SOFTWARE.
j3 3:644fc630f958 21 *
j3 3:644fc630f958 22 * Except as contained in this notice, the name of Maxim Integrated
j3 3:644fc630f958 23 * Products, Inc. shall not be used except as stated in the Maxim Integrated
j3 3:644fc630f958 24 * Products, Inc. Branding Policy.
j3 3:644fc630f958 25 *
j3 3:644fc630f958 26 * The mere transfer of this software does not imply any licenses
j3 3:644fc630f958 27 * of trade secrets, proprietary technology, copyrights, patents,
j3 3:644fc630f958 28 * trademarks, maskwork rights, or any other form of intellectual
j3 3:644fc630f958 29 * property whatsoever. Maxim Integrated Products, Inc. retains all
j3 3:644fc630f958 30 * ownership rights.
j3 3:644fc630f958 31 **********************************************************************/
j3 3:644fc630f958 32
j3 3:644fc630f958 33
j3 3:644fc630f958 34 #include "ds2480b.h"
j3 3:644fc630f958 35
j3 3:644fc630f958 36
j3 3:644fc630f958 37 //*********************************************************************
j3 16:883becbd85f8 38 Ds2480b::Ds2480b(Serial &p_serial)
j3 16:883becbd85f8 39 :_p_serial(&p_serial), _serial_owner(false)
j3 3:644fc630f958 40 {
j3 3:644fc630f958 41 }
j3 3:644fc630f958 42
j3 3:644fc630f958 43
j3 3:644fc630f958 44 //*********************************************************************
j3 3:644fc630f958 45 Ds2480b::Ds2480b(PinName tx, PinName rx, uint32_t baud)
j3 16:883becbd85f8 46 :_p_serial(new Serial(tx, rx)), _serial_owner(true)
j3 3:644fc630f958 47 {
j3 3:644fc630f958 48 _p_serial->baud(baud);
j3 3:644fc630f958 49 }
j3 3:644fc630f958 50
j3 3:644fc630f958 51
j3 3:644fc630f958 52 //*********************************************************************
j3 3:644fc630f958 53 Ds2480b::~Ds2480b()
j3 3:644fc630f958 54 {
j3 3:644fc630f958 55 if(_serial_owner)
j3 3:644fc630f958 56 {
j3 3:644fc630f958 57 delete _p_serial;
j3 3:644fc630f958 58 }
j3 3:644fc630f958 59 }
j3 3:644fc630f958 60
j3 3:644fc630f958 61
j3 3:644fc630f958 62 //*********************************************************************
j3 17:b646b1e3970b 63 OneWireInterface::CmdResult Ds2480b::OWInitMaster(void)
j3 14:7b2886a50321 64 {
j3 17:b646b1e3970b 65 OneWireInterface::CmdResult result;
j3 14:7b2886a50321 66
j3 17:b646b1e3970b 67 //TODO
j3 17:b646b1e3970b 68
j3 17:b646b1e3970b 69 return result;
j3 14:7b2886a50321 70 }
j3 14:7b2886a50321 71
j3 14:7b2886a50321 72
j3 14:7b2886a50321 73 //*********************************************************************
j3 17:b646b1e3970b 74 OneWireInterface::CmdResult Ds2480b::OWReset(void)
j3 3:644fc630f958 75 {
j3 17:b646b1e3970b 76 OneWireInterface::CmdResult result;
j3 3:644fc630f958 77
j3 3:644fc630f958 78 //TODO
j3 3:644fc630f958 79
j3 17:b646b1e3970b 80 return result;
j3 3:644fc630f958 81 }
j3 3:644fc630f958 82
j3 3:644fc630f958 83
j3 3:644fc630f958 84 //*********************************************************************
j3 17:b646b1e3970b 85 OneWireInterface::CmdResult Ds2480b::OWTouchBit(uint8_t & sendrecvbit)
j3 3:644fc630f958 86 {
j3 17:b646b1e3970b 87 OneWireInterface::CmdResult result;
j3 3:644fc630f958 88
j3 3:644fc630f958 89 //TODO
j3 3:644fc630f958 90
j3 17:b646b1e3970b 91 return result;
j3 3:644fc630f958 92 }
j3 3:644fc630f958 93
j3 3:644fc630f958 94
j3 3:644fc630f958 95
j3 3:644fc630f958 96 //*********************************************************************
j3 17:b646b1e3970b 97 OneWireInterface::CmdResult Ds2480b::OWWriteByte(uint8_t sendbyte)
j3 3:644fc630f958 98 {
j3 17:b646b1e3970b 99 OneWireInterface::CmdResult result;
j3 3:644fc630f958 100
j3 3:644fc630f958 101 //TODO
j3 3:644fc630f958 102
j3 17:b646b1e3970b 103 return result;
j3 3:644fc630f958 104 }
j3 3:644fc630f958 105
j3 3:644fc630f958 106
j3 3:644fc630f958 107 //*********************************************************************
j3 17:b646b1e3970b 108 OneWireInterface::CmdResult Ds2480b::OWReadByte(uint8_t & recvbyte)
j3 3:644fc630f958 109 {
j3 17:b646b1e3970b 110 OneWireInterface::CmdResult result;
j3 3:644fc630f958 111
j3 3:644fc630f958 112 //TODO
j3 3:644fc630f958 113
j3 17:b646b1e3970b 114 return result;
j3 3:644fc630f958 115 }
j3 3:644fc630f958 116
j3 3:644fc630f958 117
j3 3:644fc630f958 118 //*********************************************************************
j3 17:b646b1e3970b 119 OneWireInterface::CmdResult Ds2480b::OWWriteBlock(const uint8_t *tran_buf, uint8_t tran_len)
j3 3:644fc630f958 120 {
j3 17:b646b1e3970b 121 OneWireInterface::CmdResult result;
j3 3:644fc630f958 122
j3 3:644fc630f958 123 //TODO
j3 3:644fc630f958 124
j3 17:b646b1e3970b 125 return result;
j3 17:b646b1e3970b 126 }
j3 17:b646b1e3970b 127
j3 17:b646b1e3970b 128
j3 17:b646b1e3970b 129 //*********************************************************************
j3 17:b646b1e3970b 130 OneWireInterface::CmdResult Ds2480b::OWReadBlock(uint8_t *rx_buf, uint8_t rx_len)
j3 17:b646b1e3970b 131 {
j3 17:b646b1e3970b 132 OneWireInterface::CmdResult result;
j3 17:b646b1e3970b 133
j3 17:b646b1e3970b 134 //TODO
j3 17:b646b1e3970b 135
j3 17:b646b1e3970b 136 return result;
j3 3:644fc630f958 137 }
j3 3:644fc630f958 138
j3 3:644fc630f958 139
j3 3:644fc630f958 140 //*********************************************************************
j3 17:b646b1e3970b 141 OneWireInterface::CmdResult Ds2480b::OWSearch(RomId & romId)
j3 3:644fc630f958 142 {
j3 17:b646b1e3970b 143 OneWireInterface::CmdResult result;
j3 3:644fc630f958 144
j3 3:644fc630f958 145 //TODO
j3 3:644fc630f958 146
j3 17:b646b1e3970b 147 return result;
j3 17:b646b1e3970b 148 }
j3 17:b646b1e3970b 149
j3 17:b646b1e3970b 150
j3 17:b646b1e3970b 151 //*********************************************************************
j3 17:b646b1e3970b 152 OneWireInterface::CmdResult Ds2480b::OWSpeed(OW_SPEED new_speed)
j3 17:b646b1e3970b 153 {
j3 17:b646b1e3970b 154 OneWireInterface::CmdResult result;
j3 17:b646b1e3970b 155
j3 17:b646b1e3970b 156 //TODO
j3 17:b646b1e3970b 157
j3 17:b646b1e3970b 158 return result;
j3 3:644fc630f958 159 }
j3 3:644fc630f958 160
j3 3:644fc630f958 161
j3 3:644fc630f958 162 //*********************************************************************
j3 17:b646b1e3970b 163 OneWireInterface::CmdResult Ds2480b::OWLevel(OW_LEVEL new_level)
j3 3:644fc630f958 164 {
j3 17:b646b1e3970b 165 OneWireInterface::CmdResult result;
j3 3:644fc630f958 166
j3 3:644fc630f958 167 //TODO
j3 3:644fc630f958 168
j3 17:b646b1e3970b 169 return result;
j3 3:644fc630f958 170 }
j3 3:644fc630f958 171
j3 3:644fc630f958 172
j3 3:644fc630f958 173 //*********************************************************************
j3 17:b646b1e3970b 174 OneWireInterface::CmdResult Ds2480b::OWWriteBytePower(uint8_t sendbyte)
j3 3:644fc630f958 175 {
j3 17:b646b1e3970b 176 OneWireInterface::CmdResult result;
j3 3:644fc630f958 177
j3 3:644fc630f958 178 //TODO
j3 3:644fc630f958 179
j3 17:b646b1e3970b 180 return result;
j3 3:644fc630f958 181 }
j3 3:644fc630f958 182
j3 3:644fc630f958 183
j3 3:644fc630f958 184 //*********************************************************************
j3 17:b646b1e3970b 185 OneWireInterface::CmdResult Ds2480b::OWReadBitPower(uint8_t applyPowerResponse)
j3 3:644fc630f958 186 {
j3 17:b646b1e3970b 187 OneWireInterface::CmdResult result;
j3 3:644fc630f958 188
j3 3:644fc630f958 189 //TODO
j3 3:644fc630f958 190
j3 17:b646b1e3970b 191 return result;
j3 3:644fc630f958 192 }