Advanced Distributed Systems module at HSLU
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

364 lines
14 KiB

/* ###################################################################
** This component module is generated by Processor Expert. Do not modify it.
** Filename : McuOneWire.h
** CDE edition : Community
** Project : FRDM-K64F_Generator
** Processor : MK64FN1M0VLL12
** Component : OneWire
** Version : Component 01.154, Driver 01.00, CPU db: 3.00.000
** Compiler : GNU C Compiler
** Date/Time : 2020-01-29, 06:51, # CodeGen: 595
** Abstract :
** This is a component implementing the 1-Wire protocol.
** Settings :
** Component Name : McuOneWire
** Data Pin I/O : SDK_BitIO
** Write Pin : Disabled
** Timing :
** A: Write 1 Low time (us) : 6
** B: Write 1 High time (us) : 64
** C: Write 0 Low time (us) : 60
** D: Write 0 High time (us) : 10
** E: Read delay time (us) : 3
** A: Read Low time (us) : 6
** F: Read delay time : 55
** H: Reset low time (us) : 480
** I: Reset response time (us) : 70
** J: Reset wait time after reading device presence (us) : 410
** Total slot time (us) : 100
** Buffers :
** Input : RBInput
** Debug : Enabled
** Debug Read Pin : SDK_BitIO
** CriticalSection : McuCriticalSection
** Utility : McuUtility
** Wait : McuWait
** SDK : McuLib
** RTOS : Enabled
** RTOS : McuRTOS
** Shell : Enabled
** Shell : McuShell
** Contents :
** CalcCRC - uint8_t McuOneWire_CalcCRC(uint8_t *data, uint8_t dataSize);
** SendByte - uint8_t McuOneWire_SendByte(uint8_t data);
** SendBytes - uint8_t McuOneWire_SendBytes(uint8_t *data, uint8_t count);
** Receive - uint8_t McuOneWire_Receive(uint8_t counter);
** SendReset - uint8_t McuOneWire_SendReset(void);
** Count - uint8_t McuOneWire_Count(void);
** GetBytes - uint8_t McuOneWire_GetBytes(uint8_t *data, uint8_t count);
** GetByte - uint8_t McuOneWire_GetByte(uint8_t *data);
** strcatRomCode - uint8_t McuOneWire_strcatRomCode(uint8_t *buf, size_t bufSize, uint8_t...
** ReadRomCode - uint8_t McuOneWire_ReadRomCode(uint8_t *romCodeBuffer);
** ResetSearch - void McuOneWire_ResetSearch(void);
** TargetSearch - void McuOneWire_TargetSearch(uint8_t familyCode);
** Search - bool McuOneWire_Search(uint8_t *newAddr, bool search_mode);
** ParseCommand - uint8_t McuOneWire_ParseCommand(const unsigned char* cmd, bool *handled,...
** Deinit - void McuOneWire%.Init(void) McuOneWire_Deinit(void);
** Init - void McuOneWire%.Init(void) McuOneWire_Init(void);
**
** * Copyright (c) Original implementation: Omar Isa<EFBFBD> Pinales Ayala, 2014, all rights reserved.
** * Updated and maintained by Erich Styger, 2014-2020
** * Web: https://mcuoneclipse.com
** * SourceForge: https://sourceforge.net/projects/mcuoneclipse
** * Git: https://github.com/ErichStyger/McuOnEclipse_PEx
** * 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.
** *
** * 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 THE COPYRIGHT HOLDER OR 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.
** ###################################################################*/
/*!
** @file McuOneWire.h
** @version 01.00
** @brief
** This is a component implementing the 1-Wire protocol.
*/
/*!
** @addtogroup McuOneWire_module McuOneWire module documentation
** @{
*/
#ifndef __McuOneWire_H
#define __McuOneWire_H
/* MODULE McuOneWire. */
#include "McuLib.h" /* SDK and API used */
#include "McuOneWireconfig.h" /* configuration */
#include "McuShell.h" /* Shell */
#include <stddef.h> /* for size_t */
#ifdef __cplusplus
extern "C" {
#endif
#define McuOneWire_ROM_CODE_SIZE (8)
/*!< Number of bytes for ROM code */
#define McuOneWire_PARSE_COMMAND_ENABLED McuOneWire_CONFIG_PARSE_COMMAND_ENABLED
/*!< set to 1 if method ParseCommand() is present, 0 otherwise */
/*
** ===================================================================
** Method : Count (component OneWire)
**
** Description :
** Returns the number of elements stored on input buffer that
** are ready to read.
** Parameters : None
** Returns :
** --- - number of elements
** ===================================================================
*/
uint8_t McuOneWire_Count(void);
/*
** ===================================================================
** Method : Receive (component OneWire)
**
** Description :
** Programs a read operation after the master send all in
** output buffer. Don't use a SendReset while the data is
** coming.
** Parameters :
** NAME - DESCRIPTION
** counter - Number of bytes to receive from
** slave
** Returns :
** --- - error code
** ===================================================================
*/
uint8_t McuOneWire_Receive(uint8_t counter);
/*
** ===================================================================
** Method : SendByte (component OneWire)
**
** Description :
** Sends a single byte
** Parameters :
** NAME - DESCRIPTION
** data - the data byte to be sent
** Returns :
** --- - error code
** ===================================================================
*/
uint8_t McuOneWire_SendByte(uint8_t data);
/*
** ===================================================================
** Method : SendBytes (component OneWire)
**
** Description :
** Sends multiple bytes
** Parameters :
** NAME - DESCRIPTION
** * data - Pointer to the array of bytes
** count - Number of bytes to be sent
** Returns :
** --- - error code
** ===================================================================
*/
uint8_t McuOneWire_SendBytes(uint8_t *data, uint8_t count);
/*
** ===================================================================
** Method : SendReset (component OneWire)
**
** Description :
** Sends a reset to the bus
** Parameters : None
** Returns :
** --- - error code
** ===================================================================
*/
uint8_t McuOneWire_SendReset(void);
/*
** ===================================================================
** Method : GetByte (component OneWire)
**
** Description :
** Get a single byte from the bus
** Parameters :
** NAME - DESCRIPTION
** * data - Pointer to were to store the data
** Returns :
** --- - error code
** ===================================================================
*/
uint8_t McuOneWire_GetByte(uint8_t *data);
/*
** ===================================================================
** Method : GetBytes (component OneWire)
**
** Description :
** Gets multiple bytes from the bus
** Parameters :
** NAME - DESCRIPTION
** * data - Pointer to where to store the data
** count - Number of bytes
** Returns :
** --- - error code
** ===================================================================
*/
uint8_t McuOneWire_GetBytes(uint8_t *data, uint8_t count);
/*
** ===================================================================
** Method : Init (component OneWire)
**
** Description :
** Initializes this device.
** Parameters : None
** Returns : Nothing
** ===================================================================
*/
void McuOneWire_Init(void);
void McuOneWire_Deinit(void);
/*
** ===================================================================
** Method : Deinit (component OneWire)
**
** Description :
** Driver de-initialization
** Parameters : None
** Returns : Nothing
** ===================================================================
*/
uint8_t McuOneWire_CalcCRC(uint8_t *data, uint8_t dataSize);
/*
** ===================================================================
** Method : CalcCRC (component OneWire)
**
** Description :
** Calculates the CRC over a number of bytes
** Parameters :
** NAME - DESCRIPTION
** * data - Pointer to data
** dataSize - number of data bytes
** Returns :
** --- - calculated CRC
** ===================================================================
*/
uint8_t McuOneWire_ParseCommand(const unsigned char* cmd, bool *handled, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : ParseCommand (component OneWire)
**
** Description :
** Shell Command Line parser. Method is only available if Shell
** is enabled in the component properties.
** Parameters :
** NAME - DESCRIPTION
** cmd - command string
** * handled - Pointer to variable which tells if
** the command has been handled or not
** io - Pointer to I/O structure
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuOneWire_ReadRomCode(uint8_t *romCodeBuffer);
/*
** ===================================================================
** Method : ReadRomCode (component OneWire)
**
** Description :
** Read the ROM code. Only works with one device on the bus.
** Parameters :
** NAME - DESCRIPTION
** * romCodeBuffer - Pointer to a buffer
** with 8 bytes where the ROM code gets stored
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuOneWire_strcatRomCode(uint8_t *buf, size_t bufSize, uint8_t *romCode);
/*
** ===================================================================
** Method : strcatRomCode (component OneWire)
**
** Description :
** Appends the ROM code to a string.
** Parameters :
** NAME - DESCRIPTION
** * buf - Pointer to zero terminated buffer
** bufSize - size of buffer
** * romCode - Pointer to 8 bytes of ROM Code
** Returns :
** --- - error code
** ===================================================================
*/
void McuOneWire_ResetSearch(void);
/*
** ===================================================================
** Method : ResetSearch (component OneWire)
**
** Description :
** Reset the search state
** Parameters : None
** Returns : Nothing
** ===================================================================
*/
void McuOneWire_TargetSearch(uint8_t familyCode);
/*
** ===================================================================
** Method : TargetSearch (component OneWire)
**
** Description :
**
** Parameters :
** NAME - DESCRIPTION
** familyCode - family code to restrict
** search for
** Returns : Nothing
** ===================================================================
*/
bool McuOneWire_Search(uint8_t *newAddr, bool search_mode);
/*
** ===================================================================
** Method : Search (component OneWire)
**
** Description :
**
** Parameters :
** NAME - DESCRIPTION
** * newAddr - Pointer to 8 bytes of data where
** to store the new address
** search_mode -
** Returns :
** --- - TRUE if new device has been found, FALSE
** otherwise.
** ===================================================================
*/
/* END McuOneWire. */
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif
/* ifndef __McuOneWire_H */
/*!
** @}
*/