KizarmProbe.
 Vše Třídy Soubory Funkce Proměnné Výčty Hodnoty výčtu Definice maker Skupiny Stránky
swdp.h
Zobrazit dokumentaci tohoto souboru.
1 #ifndef SWDP_H
2 #define SWDP_H
3 
4 #include "baselayer.h"
5 #include "gpio.h"
6 #include "config.h"
11 #define SWD_ACK 0b001
13 #define SWD_WAIT 0b010
14 #define SWD_FAULT 0b100
15 #define SWD_PARITY 0b1000
16 enum swdCommands {
20 };
22 struct swdPacket {
23  enum swdCommands cmd : 8;
24  uint8_t APnDP;
25  uint8_t RnW;
26  uint8_t adr;
27  uint32_t val;
28 }__attribute__((packed));
29 typedef struct swdPacket swdPacket_t;
30 
38 class Swdp : public BaseLayer {
39 
40  public:
42  Swdp ();
49  void Fini (void);
58  uint32_t Up (char* data, uint32_t len);
59  protected:
67  uint32_t Init (void);
73  uint32_t swdptap_init (void);
83  uint8_t swdptap_low_access (uint8_t APnDP, uint8_t RnW, uint8_t addr, uint32_t* value);
84  // Interní metody jsou dost rozsekané, ale funkční a přehledné.
85  void turnaround (bool dir);
86  bool bit_in (void);
87  void bit_out (bool val);
88  int init (void);
89  void reset (void);
90  uint32_t seq_in (int ticks);
91  bool seq_in_parity (uint32_t *ret, int ticks);
92  void seq_out (uint32_t MS, int ticks);
93  void seq_out_parity(uint32_t MS, int ticks);
94 
95  private:
97  GpioClass swdio, swclk;
99  swdPacket UxD;
100  bool olddir;
101 };
102 
103 #endif // SWDP_H
swdCommands
Příkazy v swdPacket.
Definition: swdp.h:17
void bit_out(bool val)
výstup bitu
Definition: swdp.cpp:55
uint32_t seq_in(int ticks)
vrací ticks bitů
Definition: swdp.cpp:83
uint32_t val
DATA.
Definition: swdp.h:164
void Fini(void)
Místo destruktoru.
Definition: swdp.cpp:13
uint32_t swdptap_init(void)
Připojení na SWD.
Definition: swdp.cpp:144
Obecný GPIO pin.
uint8_t APnDP
< Init / IO
Definition: swdp.h:160
uint32_t Up(char *data, uint32_t len)
Přetížíme metodu Up()
Definition: swdp.cpp:15
Fyzický přístup na SWD piny.
Definition: swdp.h:38
uint8_t APnDP
< Init / IO
Definition: swdp.h:23
uint8_t RnW
Read / Write.
Definition: swdp.h:162
uint32_t Init(void)
Základní inicializace.
Definition: swdp.cpp:25
Obecný GPIO pin.
Definition: gpio.h:20
Bázová třída pro stack trochu obecnějšího komunikačního protokolu.
Swdp()
Konstruktor.
Definition: swdp.cpp:9
init
Definition: swdp.h:18
uint8_t swdptap_low_access(uint8_t APnDP, uint8_t RnW, uint8_t addr, uint32_t *value)
Fyzický přístup na SWD.
Definition: swdp.cpp:159
void reset(void)
výstup 50x 1
Definition: swdp.cpp:76
bool seq_in_parity(uint32_t *ret, int ticks)
s paritou
Definition: swdp.cpp:98
void turnaround(bool dir)
obrať směr přenosu
Definition: swdp.cpp:30
čtení / zápis na základní úrovni SWD.
Definition: swdp.h:19
uint32_t val
DATA.
Definition: swdp.h:27
bool bit_in(void)
vstup 1 bitu
Definition: swdp.cpp:44
[BaseLayer example]
Definition: baselayer.h:31
uint8_t RnW
Read / Write.
Definition: swdp.h:25
void seq_out(uint32_t MS, int ticks)
zapíše ticks bitů
Definition: swdp.cpp:119
int init(void)
magic word
Definition: swdp.cpp:64
SWD Paket pro základní komunikaci.
Definition: swdp.h:22
void seq_out_parity(uint32_t MS, int ticks)
s paritou
Definition: swdp.cpp:129
uint8_t adr
Adresa.
Definition: swdp.h:26