Versión de Firmware con funciones de RAM incorporadas.
Dependencies: mbed
Fork of VmRecorderV1dot1 by
RAM/MultipleRAM.h@2:e818c80e6d5c, 2015-07-14 (annotated)
- Committer:
- JuanManuelAmador
- Date:
- Tue Jul 14 08:34:11 2015 +0000
- Revision:
- 2:e818c80e6d5c
Funciones de memoria RAM introducidas.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JuanManuelAmador | 2:e818c80e6d5c | 1 | /** |
JuanManuelAmador | 2:e818c80e6d5c | 2 | * @author Juan Manuel Amador Olivares (virtualmech) |
JuanManuelAmador | 2:e818c80e6d5c | 3 | */ |
JuanManuelAmador | 2:e818c80e6d5c | 4 | #ifndef MULTIPLERAM_H |
JuanManuelAmador | 2:e818c80e6d5c | 5 | #define MULTIPLERAM_H |
JuanManuelAmador | 2:e818c80e6d5c | 6 | |
JuanManuelAmador | 2:e818c80e6d5c | 7 | #include "mbed.h" |
JuanManuelAmador | 2:e818c80e6d5c | 8 | #include "23LCV1024.h" |
JuanManuelAmador | 2:e818c80e6d5c | 9 | |
JuanManuelAmador | 2:e818c80e6d5c | 10 | #define NRAMS 3 // Número de RAMs |
JuanManuelAmador | 2:e818c80e6d5c | 11 | #define RAMBYTES 131072 // Capacidad (en bytes) de las cada RAM |
JuanManuelAmador | 2:e818c80e6d5c | 12 | |
JuanManuelAmador | 2:e818c80e6d5c | 13 | |
JuanManuelAmador | 2:e818c80e6d5c | 14 | |
JuanManuelAmador | 2:e818c80e6d5c | 15 | // Clase que gestiona el uso de ultiples RAMs como si fueran una sola de mayor tamaño. Si cambia el número e RAMS debe cambiar esta clase. |
JuanManuelAmador | 2:e818c80e6d5c | 16 | // Todas las RAMS conectadas al mismo puerto SPI (no se van a utilizar simultáneamente) |
JuanManuelAmador | 2:e818c80e6d5c | 17 | // Clase configurada para 3 RAMs actualmente. |
JuanManuelAmador | 2:e818c80e6d5c | 18 | class MultipleRAM{ |
JuanManuelAmador | 2:e818c80e6d5c | 19 | public: |
JuanManuelAmador | 2:e818c80e6d5c | 20 | MultipleRAM(SPI spi); |
JuanManuelAmador | 2:e818c80e6d5c | 21 | ~MultipleRAM(); |
JuanManuelAmador | 2:e818c80e6d5c | 22 | |
JuanManuelAmador | 2:e818c80e6d5c | 23 | int readBytes(int address, char* buffer, int length); |
JuanManuelAmador | 2:e818c80e6d5c | 24 | int writeBytes(int address, char* buffer, int length); |
JuanManuelAmador | 2:e818c80e6d5c | 25 | |
JuanManuelAmador | 2:e818c80e6d5c | 26 | unsigned int getMaxAddress(); |
JuanManuelAmador | 2:e818c80e6d5c | 27 | |
JuanManuelAmador | 2:e818c80e6d5c | 28 | private: |
JuanManuelAmador | 2:e818c80e6d5c | 29 | SRAM23LCV1024 *sram[NRAMS]; |
JuanManuelAmador | 2:e818c80e6d5c | 30 | SPI _spi; |
JuanManuelAmador | 2:e818c80e6d5c | 31 | |
JuanManuelAmador | 2:e818c80e6d5c | 32 | // Deuelve la memoria total efectiva |
JuanManuelAmador | 2:e818c80e6d5c | 33 | unsigned int maxAddress; |
JuanManuelAmador | 2:e818c80e6d5c | 34 | |
JuanManuelAmador | 2:e818c80e6d5c | 35 | |
JuanManuelAmador | 2:e818c80e6d5c | 36 | }; |
JuanManuelAmador | 2:e818c80e6d5c | 37 | |
JuanManuelAmador | 2:e818c80e6d5c | 38 | #endif |