Beschreibung

This commit is contained in:
Tristan Krause 2019-06-25 11:02:08 +02:00
parent aa5aeff9d1
commit c09e5b5b48
5 changed files with 94 additions and 6 deletions

View file

@ -508,6 +508,22 @@ uint8_t B15F::getRegister(volatile uint8_t* adr)
return getMem8(adr);
}
uint16_t* B15F::getInterruptCounterOffset()
{
usart.clearInputBuffer();
uint8_t rq[] =
{
RQ_COUNTER_OFFSET
};
usart.transmit(&rq[0], 0, sizeof(rq));
uint16_t aw;
usart.receive(reinterpret_cast<uint8_t *>(&aw), 0, sizeof(aw));
return reinterpret_cast<uint16_t*>(aw);
}
/*************************/

View file

@ -229,7 +229,6 @@ public:
* \param adr Speicheradresse
* \param val Neuer Wert für die Zelle
* \return true, falls Vorgang erfolgreich
* \throws DriverException
*/
bool setMem8(volatile uint8_t* adr, uint8_t val);
@ -238,7 +237,6 @@ public:
* Diese kann ein Register oder RAM-Daten sein.
* \param adr Speicheradresse
* \return Wert der Speicherzelle
* \throws DriverException
*/
uint8_t getMem8(volatile uint8_t* adr);
@ -249,7 +247,6 @@ public:
* \param adr Speicheradresse
* \param val Neuer Wert für die Zelle
* \return true, falls Vorgang erfolgreich
* \throws DriverException
*/
bool setMem16(volatile uint16_t* adr, uint16_t val);
@ -258,7 +255,6 @@ public:
* Diese kann ein Register oder RAM-Daten sein.
* \param adr Speicheradresse
* \return Wert der Speicherzelle
* \throws DriverException
*/
uint16_t getMem16(volatile uint16_t* adr);
@ -268,7 +264,6 @@ public:
* \param adr Speicheradresse
* \param val Neuer Wert für das Register
* \return true, falls Vorgang erfolgreich
* \throws DriverException
*/
bool setRegister(volatile uint8_t* adr, uint8_t val);
@ -276,9 +271,14 @@ public:
* Diese Funktion ist ein Alias für getMem8().
* \param adr Speicheradresse
* \return Wert des Registers
* \throws DriverException
*/
uint8_t getRegister(volatile uint8_t* adr);
/**
* Liefert die Adresse des ersten Interrupt Counters (BASISR).
* \return Adresse (in der MCU)
*/
uint16_t* getInterruptCounterOffset(void);
/*************************/

View file

@ -21,6 +21,7 @@ constexpr static uint8_t RQ_SET_MEM_8 = 16;
constexpr static uint8_t RQ_GET_MEM_8 = 17;
constexpr static uint8_t RQ_SET_MEM_16 = 18;
constexpr static uint8_t RQ_GET_MEM_16 = 19;
constexpr static uint8_t RQ_COUNTER_OFFSET = 20;
uint8_t const rq_len[] = {
1 /* RQ_DISCARD */,
@ -43,6 +44,7 @@ uint8_t const rq_len[] = {
1 /* RQ_GET_MEM_8 */ + 1 /* memory address low */ + 1 /* memory address high */,
1 /* RQ_SET_MEM_16 */ + 1 /* memory address low */ + 1 /* memory address high */ + 1 /* memory value low */ + 1 /* memory value high */,
1 /* RQ_GET_MEM_16 */ + 1 /* memory address low */ + 1 /* memory address high */,
1 /* RQ_COUNTER_OFFSET */,
};
#endif // REQUESTS_H