LoadCell_STM32_SDRAM_v1
Dependencies: BSP_DISCO_F746NG DISCO-F746NG_SDRAMBlockDevice LCD_DISCO_F746NG mbed
Fork of LoadCell_STM32 by
Diff: functions.cpp
- Revision:
- 5:f8d3bcb187de
- Parent:
- 3:22b1719c2b92
- Child:
- 6:641b171407c9
--- a/functions.cpp Sat Feb 24 11:31:09 2018 +0000 +++ b/functions.cpp Sat Feb 24 16:18:46 2018 +0000 @@ -4,6 +4,8 @@ #include "mbed.h" #include "LCD_DISCO_F746NG.h" +#include <stdio.h> +#include <errno.h> #include <stdint.h> #include <stdio.h> #include <stdlib.h> @@ -19,26 +21,14 @@ LCD_DISCO_F746NG lcd2; void initArray(Array *a, size_t initialSize) { - a->array = (uint32_t *)malloc(initialSize * sizeof(uint32_t)); + a->array = (uint16_t *)malloc(initialSize * sizeof(uint16_t)); a->used = 0; a->size = initialSize; } -void insertArray(Array *a, uint32_t element) { - // a->used is the number of used entries, because a->array[a->used++] - // updates a->used only *after* the array has been accessed. - // Therefore a->used can go up to a->size - - if (a->used == a->size) { - a->size *= 2; - a->array = (uint32_t *)realloc(a->array, a->size * sizeof(uint32_t)); - } - a->array[a->used++] = element; -} - -void insertArray2(Array *a, uint32_t newsize) { +void insertArray(Array *a, uint32_t newsize) { a->size = newsize; - a->array = (uint32_t *)realloc(a->array, a->size * sizeof(uint32_t)); + a->array = (uint16_t *)realloc(a->array, a->size * sizeof(uint16_t)); a->used = 0; } @@ -171,7 +161,7 @@ // Measure NoOfPoints values (f.ex. 19200) for(i=0;i<NoOfPoints;i++) { - Data->array[i]=(uint32_t)((0x0000 << 16) | ain.read_u16()); + Data->array[i]=(uint16_t)(ain.read_u16()); wait_us(Period_us); } @@ -197,7 +187,7 @@ // Read AvgSize samples for(i2=i1;i2<i1+AvgSize;i2++) { - BufferSum=BufferSum+Data->array[i2]; + BufferSum=BufferSum+(uint32_t)Data->array[i2]; } BufferAvg=BufferSum/AvgSize;