</ItemGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\..\..\application\utility\i2ccmd\i2ccmd_main.c" />\r
+ <ClCompile Include="..\..\..\..\driver\i2c\i2c\i2cdrv_burstread.c" />\r
+ <ClCompile Include="..\..\..\..\driver\i2c\i2c\i2cdrv_burstwrite.c" />\r
<ClCompile Include="..\..\..\..\driver\i2c\i2c\i2cdrv_byteread.c" />\r
<ClCompile Include="..\..\..\..\driver\i2c\i2c\i2cdrv_bytewrite.c" />\r
<ClCompile Include="..\..\..\..\driver\i2c\jelly\jellyi2cdrv_access.c" />\r
<ClCompile Include="..\..\..\..\application\utility\i2ccmd\i2ccmd_main.c">
<Filter>application\utility\i2ccmd</Filter>
</ClCompile>
+ <ClCompile Include="..\..\..\..\driver\i2c\i2c\i2cdrv_burstwrite.c">
+ <Filter>driver\i2c\i2c</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\driver\i2c\i2c\i2cdrv_burstread.c">
+ <Filter>driver\i2c\i2c</Filter>
+ </ClCompile>
</ItemGroup>
</Project>
\ No newline at end of file
FILE_ERR I2cDrv_ByteWrite(HANDLE hFile, unsigned char ubDev, unsigned char ubAddr, unsigned char ubData);
int I2cDrv_ByteRead(HANDLE hFile, unsigned char ubDev, unsigned char ubAddr);
+FILE_ERR I2cDrv_BurstWrite(HANDLE hFile, unsigned char ubDev, unsigned char ubAddr, const unsigned char *pubData, int iLength);
+FILE_ERR I2cDrv_BurstRead(HANDLE hFile, unsigned char ubDev, unsigned char ubAddr, unsigned char *pubBuf, int iLength);
#ifdef __cplusplus
}
--- /dev/null
+/**
+ * Hyper Operating System Application Framework
+ *
+ * @file i2cdrv_bytewrite.c
+ * @brief %jp{I2Cデバイスドライバ}
+ *
+ * Copyright (C) 2006-2007 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#include "i2cdrv_local.h"
+
+
+FILE_ERR I2cDrv_BurstRead(HANDLE hFile, unsigned char ubDev, unsigned char ubAddr, unsigned char *pubBuf, int iLength)
+{
+ T_I2CDRV_ACCESS Access;
+ unsigned char ubWriteBuf[2];
+ unsigned char ubReadBuf[1];
+
+ Access.iFlag = (I2CDRV_ACCESS_FLAG_START);
+ ubWriteBuf[0] = (unsigned char)((ubDev << 1) | 0x00);
+ ubWriteBuf[1] = ubAddr;
+ Access.pubWriteBuf = ubWriteBuf;
+ Access.iWriteLength = 2;
+ Access.pubReadBuf = ubReadBuf;
+ Access.iReadLength = 0;
+ File_IoControl(hFile, I2CDRV_IOCTL_ACCESS, NULL, 0, &Access, sizeof(Access));
+
+ Access.iFlag = (I2CDRV_ACCESS_FLAG_START | I2CDRV_ACCESS_FLAG_STOP);
+ ubWriteBuf[0] = (unsigned char)((ubDev << 1) | 0x01);
+ Access.pubWriteBuf = ubWriteBuf;
+ Access.iWriteLength = 1;
+ Access.pubReadBuf = pubBuf;
+ Access.iReadLength = iLength;
+ File_IoControl(hFile, I2CDRV_IOCTL_ACCESS, NULL, 0, &Access, sizeof(Access));
+
+ return (int)ubReadBuf[0];
+}
+
+
+/* end of file */
--- /dev/null
+/**
+ * Hyper Operating System Application Framework
+ *
+ * @file i2cdrv_bytewrite.c
+ * @brief %jp{I2Cデバイスドライバ}
+ *
+ * Copyright (C) 2006-2007 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#include "i2cdrv_local.h"
+
+
+FILE_ERR I2cDrv_BurstWrite(HANDLE hFile, unsigned char ubDev, unsigned char ubAddr, const unsigned char *pubData, int iLength)
+{
+ T_I2CDRV_ACCESS Access;
+ unsigned char ubWriteBuf[2];
+
+ ubWriteBuf[0] = (unsigned char)((ubDev << 1) | 0x00);
+ ubWriteBuf[1] = ubAddr;
+
+ Access.iFlag = I2CDRV_ACCESS_FLAG_START;
+ Access.pubWriteBuf = ubWriteBuf;
+ Access.iWriteLength = 2;
+ Access.pubReadBuf = NULL;
+ Access.iReadLength = 0;
+ File_IoControl(hFile, I2CDRV_IOCTL_ACCESS, NULL, 0, &Access, sizeof(Access));
+
+ Access.iFlag = I2CDRV_ACCESS_FLAG_STOP;
+ Access.pubWriteBuf = pubData;
+ Access.iWriteLength = iLength;
+ Access.pubReadBuf = NULL;
+ Access.iReadLength = 0;
+ File_IoControl(hFile, I2CDRV_IOCTL_ACCESS, NULL, 0, &Access, sizeof(Access));
+
+ return FILE_ERR_OK;
+}
+
+
+
+/* end of file */
<ItemGroup>\r
<ClCompile Include="..\..\..\..\source\object\cyc\acre_cyc.c" />\r
<ClCompile Include="..\..\..\..\source\object\cyc\cre_cyc.c" />\r
+ <ClCompile Include="..\..\..\..\source\object\cyc\del_cyc.c" />\r
<ClCompile Include="..\..\..\..\source\object\cyc\kcre_cyc.c" />\r
<ClCompile Include="..\..\..\..\source\object\cyc\kcyc_hdr.c" />\r
+ <ClCompile Include="..\..\..\..\source\object\cyc\ref_cyc.c" />\r
<ClCompile Include="..\..\..\..\source\object\cyc\sta_cyc.c" />\r
<ClCompile Include="..\..\..\..\source\object\cyc\stp_cyc.c" />\r
<ClCompile Include="..\..\..\..\source\object\dtq\acre_dtq.c" />\r
<ClCompile Include="..\..\..\..\source\arch\irc\simple\get_imsk.c">
<Filter>source\arch\irc\simple</Filter>
</ClCompile>
+ <ClCompile Include="..\..\..\..\source\object\cyc\del_cyc.c">
+ <Filter>source\object\cyc</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\source\object\cyc\ref_cyc.c">
+ <Filter>source\object\cyc</Filter>
+ </ClCompile>
</ItemGroup>
</Project>
\ No newline at end of file
* @file ref_cyc.c
* @brief %jp{周期ハンドラの状態参照}%en{Reference Cyclic Handler State}
*
- * Copyright (C) 1998-2006 by Project HOS
+ * Copyright (C) 1998-2010 by Project HOS
* http://sourceforge.jp/projects/hos/
*/
cyccb = _KERNEL_CYC_ID2CYCCB(cycid);
/* %jp{情報取得} */
- if( _KERNEL_CYC_GET_TIMOBJ(cyccb)->next == NULL){
+ if( _KERNEL_CYC_GET_TIMOBJ(cyccb)->next == NULL)
+ {
pk_rcyc->cycatr = TCYC_STP;
- }else{
+ }
+ else
+ {
pk_rcyc->cycatr = TCYC_STA;
}
pk_rcyc->lefttim = _KERNEL_TIMOBJ_GET_LEFTTIM( _KERNEL_CYC_GET_TIMOBJ(cyccb) );
- _KERNEL_LEAVE_SVC(); /* %jp{ã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88æ\9cªç\94\9fæ\88\90}%en{Non-existant object} */
+ _KERNEL_LEAVE_SVC(); /* %jp{ã\82µã\83¼ã\83\93ã\82¹ã\82³ã\83¼ã\83«çµ\82äº\86} */
return E_OK;
}