Gavin Whelan
/
LogicAlNucleoF411RE
Port of LogicalNucleo to F411RE
Fork of LogicAlNucleo by
Sampler.h@1:cf544bd09176, 2017-03-29 (annotated)
- Committer:
- gavwhela
- Date:
- Wed Mar 29 21:15:00 2017 +0000
- Revision:
- 1:cf544bd09176
- Parent:
- 0:41db3ed6754d
Changed NOP's for Nucleo F411RE and doubled buffer size for samples and serial rate for PC connection.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jpbarraca | 0:41db3ed6754d | 1 | /* |
jpbarraca | 0:41db3ed6754d | 2 | This program is free software: you can redistribute it and/or modify |
jpbarraca | 0:41db3ed6754d | 3 | it under the terms of the GNU General Public License as published by |
jpbarraca | 0:41db3ed6754d | 4 | the Free Software Foundation, either version 3 of the License, or |
jpbarraca | 0:41db3ed6754d | 5 | (at your option) any later version. |
jpbarraca | 0:41db3ed6754d | 6 | |
jpbarraca | 0:41db3ed6754d | 7 | This program is distributed in the hope that it will be useful, |
jpbarraca | 0:41db3ed6754d | 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
jpbarraca | 0:41db3ed6754d | 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
jpbarraca | 0:41db3ed6754d | 10 | GNU General Public License for more details. |
jpbarraca | 0:41db3ed6754d | 11 | |
jpbarraca | 0:41db3ed6754d | 12 | Author: Joao Paulo Barraca <jpbarraca@gmail.com> |
jpbarraca | 0:41db3ed6754d | 13 | */ |
jpbarraca | 0:41db3ed6754d | 14 | |
jpbarraca | 0:41db3ed6754d | 15 | #ifndef SAMPLER_H |
jpbarraca | 0:41db3ed6754d | 16 | #define SAMPLER_H |
jpbarraca | 0:41db3ed6754d | 17 | #include "mbed.h" |
jpbarraca | 0:41db3ed6754d | 18 | |
jpbarraca | 0:41db3ed6754d | 19 | class Sampler{ |
jpbarraca | 0:41db3ed6754d | 20 | |
jpbarraca | 0:41db3ed6754d | 21 | public: |
jpbarraca | 0:41db3ed6754d | 22 | |
jpbarraca | 0:41db3ed6754d | 23 | Sampler(Serial*); |
jpbarraca | 0:41db3ed6754d | 24 | |
jpbarraca | 0:41db3ed6754d | 25 | void start(); |
jpbarraca | 0:41db3ed6754d | 26 | void arm(); |
jpbarraca | 0:41db3ed6754d | 27 | void stop(); |
jpbarraca | 0:41db3ed6754d | 28 | void reset(); |
jpbarraca | 0:41db3ed6754d | 29 | void runTest(); |
jpbarraca | 0:41db3ed6754d | 30 | |
jpbarraca | 0:41db3ed6754d | 31 | //Getters and Setters |
jpbarraca | 0:41db3ed6754d | 32 | uint32_t getBufferSize(); |
jpbarraca | 0:41db3ed6754d | 33 | uint32_t getMaxFrequency(); |
jpbarraca | 0:41db3ed6754d | 34 | |
jpbarraca | 0:41db3ed6754d | 35 | void setSamplingDivider(uint32_t); |
jpbarraca | 0:41db3ed6754d | 36 | void setSampleNumber(uint32_t); |
jpbarraca | 0:41db3ed6754d | 37 | void setSamplingDelay(uint16_t); |
jpbarraca | 0:41db3ed6754d | 38 | void setTriggerMask(uint32_t); |
jpbarraca | 0:41db3ed6754d | 39 | void setTriggerValue(uint32_t); |
jpbarraca | 0:41db3ed6754d | 40 | void setTriggerState(uint8_t); |
jpbarraca | 0:41db3ed6754d | 41 | void setFlags(uint32_t); |
jpbarraca | 0:41db3ed6754d | 42 | |
jpbarraca | 0:41db3ed6754d | 43 | |
jpbarraca | 0:41db3ed6754d | 44 | private: |
jpbarraca | 0:41db3ed6754d | 45 | uint8_t *buffer; |
jpbarraca | 0:41db3ed6754d | 46 | uint16_t buffer_index; |
jpbarraca | 0:41db3ed6754d | 47 | uint8_t buffer_rle_value; |
jpbarraca | 0:41db3ed6754d | 48 | uint8_t buffer_rle_count; |
jpbarraca | 0:41db3ed6754d | 49 | |
jpbarraca | 0:41db3ed6754d | 50 | uint32_t samplingPeriod; |
jpbarraca | 0:41db3ed6754d | 51 | uint32_t sampleNumber; |
jpbarraca | 0:41db3ed6754d | 52 | uint32_t sampleDelay; |
jpbarraca | 0:41db3ed6754d | 53 | uint32_t triggerMask; |
jpbarraca | 0:41db3ed6754d | 54 | uint32_t triggerValue; |
jpbarraca | 0:41db3ed6754d | 55 | uint8_t triggerState; |
jpbarraca | 0:41db3ed6754d | 56 | uint32_t flags; |
jpbarraca | 0:41db3ed6754d | 57 | |
jpbarraca | 0:41db3ed6754d | 58 | uint32_t bufferSize; |
jpbarraca | 0:41db3ed6754d | 59 | |
jpbarraca | 0:41db3ed6754d | 60 | Serial *pc; |
jpbarraca | 0:41db3ed6754d | 61 | }; |
jpbarraca | 0:41db3ed6754d | 62 | #endif |