Versión de Firmware con funciones de RAM incorporadas.

Dependencies:   mbed

Fork of VmRecorderV1dot1 by virtualmech

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?

UserRevisionLine numberNew 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