Browse Source

uprava rozhranie pre nBus

Juraj Ďuďák 1 year ago
parent
commit
23a69c32ee
2 changed files with 9 additions and 34 deletions
  1. 3 7
      Inc/memory_ec20.h
  2. 6 27
      Src/memory_ec20.c

+ 3 - 7
Inc/memory_ec20.h

@@ -23,8 +23,8 @@
 
 
 typedef struct _onewire_ec20_{
-    uint8_t buffer_rx[4];
-    uint8_t buffer_tx[4];
+    uint8_t buffer_rx[32];
+    uint8_t buffer_tx[32];
     uint8_t real_size;
     uint8_t ROM[8];
 }OneWire_EC20_typeDef;
@@ -38,13 +38,9 @@ uint32_t DS28EC20_readData4B(uint16_t);
 uint16_t DS28EC20_readData2B(uint16_t address);
 uint8_t DS28EC20_readData1B(uint16_t address);
 
-uint8_t DS28EC20_writeData4B(uint32_t, uint16_t );
-uint8_t DS28EC20_writeData2B(uint16_t data, uint16_t  adr);
-uint8_t DS28EC20_writeData1B(uint8_t data, uint16_t  adr);
+uint8_t DS28EC20_writeData(uint8_t*, uint16_t, uint8_t);
 
 uint8_t DS28EC20_getId(uint8_t*);
 uint32_t DS28EC20_getCapacity(void);
 
-//uint8_t DS28EC20_writeData4char(uint8_t *data, uint16_t  adr);
-
 #endif

+ 6 - 27
Src/memory_ec20.c

@@ -115,24 +115,13 @@ uint8_t DS28EC20_readData1B(uint16_t address) {
     return data8;
 }
 
+/**
+ * @brief Zapíše dáta do pamäte. Maximálna dlžka data je 32B.
+ */
+uint8_t DS28EC20_writeData(uint8_t *data, uint16_t adr, uint8_t length) {
+	memcpy(mem_page.buffer_tx, data, length);
+	return DS28EC20_writeMem(adr,length);
 
-uint8_t DS28EC20_writeData4B(uint32_t data, uint16_t adr) {
-    mem_page.buffer_tx[0] = data>>24;
-    mem_page.buffer_tx[1] = (data>>16) & 0xFF;
-    mem_page.buffer_tx[2] = (data>>8) & 0xFF;
-    mem_page.buffer_tx[3] = (data) & 0xFF;
-    return DS28EC20_writeMem(adr,4);
-}
-
-uint8_t DS28EC20_writeData2B(uint16_t data, uint16_t adr) {
-    mem_page.buffer_tx[0] = (data>>8) & 0xFF;
-    mem_page.buffer_tx[1] = (data) & 0xFF;
-    return DS28EC20_writeMem(adr,2);
-}
-
-uint8_t DS28EC20_writeData1B(uint8_t data, uint16_t adr) {
-    mem_page.buffer_tx[0] = (data) & 0xFF;
-    return DS28EC20_writeMem(adr,1);
 }
 
 uint8_t DS28EC20_getId(uint8_t* data) {
@@ -147,13 +136,3 @@ uint8_t DS28EC20_getId(uint8_t* data) {
 uint32_t DS28EC20_getCapacity(void) {
 	return 2560;
 }
-
-/*
-uint8_t DS28EC20_writeData4char(uint8_t *data, uint16_t adr) {
-    mem_page.buffer_tx[0] = data[0];
-    mem_page.buffer_tx[1] = data[1];
-    mem_page.buffer_tx[2] = data[2];
-    mem_page.buffer_tx[3] = data[3];
-    return DS28EC20_writeMem(adr,4);
-}
-*/