Enhance serial code
This commit is contained in:
parent
c241ad30f5
commit
7170789b3e
|
@ -4,6 +4,8 @@ Ck<hex>: set encryptionkey
|
||||||
Ct<hex>: set txmac
|
Ct<hex>: set txmac
|
||||||
Cc<hex>: set channel
|
Cc<hex>: set channel
|
||||||
Ct<hex>: set rxmac(0)
|
Ct<hex>: set rxmac(0)
|
||||||
|
Cl<hex>: set rxlens
|
||||||
|
Ce<hex>: sec encrpytion on/off
|
||||||
|
|
||||||
s <hex>: send packet
|
s <hex>: send packet
|
||||||
s+ <hex>: send packet 10 times
|
s+ <hex>: send packet 10 times
|
||||||
|
|
|
@ -29,10 +29,9 @@ uint32_t const beaconkey[4] = {
|
||||||
uint32_t remotekey[4] = {
|
uint32_t remotekey[4] = {
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff
|
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff
|
||||||
};
|
};
|
||||||
uint32_t meshkey[4] = {
|
extern uint32_t const meshkey[4];
|
||||||
0x0, 0x0, 0x0, 0x0
|
|
||||||
};
|
|
||||||
|
|
||||||
|
char funkencrypt=0;
|
||||||
|
|
||||||
#if CFG_USBMSC
|
#if CFG_USBMSC
|
||||||
#error "MSC is defined"
|
#error "MSC is defined"
|
||||||
|
@ -151,6 +150,7 @@ int process(char * input){
|
||||||
config.nrmacs=1;
|
config.nrmacs=1;
|
||||||
nrf_config_set(&config);
|
nrf_config_set(&config);
|
||||||
memcpy(thekey,meshkey,sizeof(thekey));
|
memcpy(thekey,meshkey,sizeof(thekey));
|
||||||
|
funkencrypt=1;
|
||||||
}else if(input[1]=='r'){
|
}else if(input[1]=='r'){
|
||||||
config.channel=REMOTE_CHANNEL;
|
config.channel=REMOTE_CHANNEL;
|
||||||
memcpy(config.txmac,REMOTE_MAC,5);
|
memcpy(config.txmac,REMOTE_MAC,5);
|
||||||
|
@ -159,6 +159,7 @@ int process(char * input){
|
||||||
config.nrmacs=1;
|
config.nrmacs=1;
|
||||||
nrf_config_set(&config);
|
nrf_config_set(&config);
|
||||||
memcpy(thekey,remotekey,sizeof(thekey));
|
memcpy(thekey,remotekey,sizeof(thekey));
|
||||||
|
funkencrypt=1;
|
||||||
}else if(input[1]=='b'){
|
}else if(input[1]=='b'){
|
||||||
config.channel=BEACON_CHANNEL;
|
config.channel=BEACON_CHANNEL;
|
||||||
memcpy(config.txmac,BEACON_MAC,5);
|
memcpy(config.txmac,BEACON_MAC,5);
|
||||||
|
@ -167,6 +168,7 @@ int process(char * input){
|
||||||
config.nrmacs=1;
|
config.nrmacs=1;
|
||||||
nrf_config_set(&config);
|
nrf_config_set(&config);
|
||||||
memcpy(thekey,beaconkey,sizeof(thekey));
|
memcpy(thekey,beaconkey,sizeof(thekey));
|
||||||
|
funkencrypt=1;
|
||||||
}else if(input[1]=='?'){
|
}else if(input[1]=='?'){
|
||||||
nrf_config_get(&config);
|
nrf_config_get(&config);
|
||||||
puts_plus("Ch: ");puts_plus(IntToStrX( config.channel,2 )); puts_plus("\r\n");
|
puts_plus("Ch: ");puts_plus(IntToStrX( config.channel,2 )); puts_plus("\r\n");
|
||||||
|
@ -202,6 +204,10 @@ int process(char * input){
|
||||||
puts_plus(" ");
|
puts_plus(" ");
|
||||||
};
|
};
|
||||||
puts_plus("\r\n");
|
puts_plus("\r\n");
|
||||||
|
|
||||||
|
puts_plus("encrypt : ");
|
||||||
|
puts_plus(IntToStrX( funkencrypt,2 ));
|
||||||
|
puts_plus("\r\n");
|
||||||
};
|
};
|
||||||
}else if(input[0]=='C'){
|
}else if(input[0]=='C'){
|
||||||
int len;
|
int len;
|
||||||
|
@ -228,6 +234,15 @@ int process(char * input){
|
||||||
}else if(input[1]=='c'){
|
}else if(input[1]=='c'){
|
||||||
config.channel=*hex;
|
config.channel=*hex;
|
||||||
nrf_config_set(&config);
|
nrf_config_set(&config);
|
||||||
|
}else if(input[1]=='l'){
|
||||||
|
config.maclen[0]=uint8ptouint32(hex);
|
||||||
|
config.maclen[1]=uint8ptouint32(hex+4);
|
||||||
|
config.maclen[2]=uint8ptouint32(hex+8);
|
||||||
|
config.maclen[3]=uint8ptouint32(hex+12);
|
||||||
|
config.maclen[4]=uint8ptouint32(hex+16);
|
||||||
|
nrf_config_set(&config);
|
||||||
|
}else if(input[1]=='e'){
|
||||||
|
funkencrypt= uint8ptouint32(hex);
|
||||||
};
|
};
|
||||||
}else if (input[0]=='s'){
|
}else if (input[0]=='s'){
|
||||||
__attribute__ ((aligned (4))) uint8_t buf[32];
|
__attribute__ ((aligned (4))) uint8_t buf[32];
|
||||||
|
@ -251,7 +266,7 @@ int process(char * input){
|
||||||
len+=2; // Add crc!
|
len+=2; // Add crc!
|
||||||
|
|
||||||
memcpy(buf,hex,len);
|
memcpy(buf,hex,len);
|
||||||
status=nrf_snd_pkt_crc_encr(len,buf,thekey);
|
status=nrf_snd_pkt_crc_encr(len,buf,funkencrypt?thekey:NULL);
|
||||||
|
|
||||||
puts_plus("P ");
|
puts_plus("P ");
|
||||||
puts_plus("[");puts_plus(IntToStrX(len,2));puts_plus("] ");
|
puts_plus("[");puts_plus(IntToStrX(len,2));puts_plus("] ");
|
||||||
|
@ -266,7 +281,7 @@ int process(char * input){
|
||||||
while(--ctr>0){
|
while(--ctr>0){
|
||||||
delayms(23);
|
delayms(23);
|
||||||
memcpy(buf,hex,len);
|
memcpy(buf,hex,len);
|
||||||
status=nrf_snd_pkt_crc_encr(len,buf,thekey);
|
status=nrf_snd_pkt_crc_encr(len,buf,funkencrypt?thekey:NULL);
|
||||||
};
|
};
|
||||||
}else if (input[1]=='t'){
|
}else if (input[1]=='t'){
|
||||||
static int ctr=1;
|
static int ctr=1;
|
||||||
|
@ -283,7 +298,7 @@ int process(char * input){
|
||||||
|
|
||||||
buf[12]=0xff; // salt (0xffff always?)
|
buf[12]=0xff; // salt (0xffff always?)
|
||||||
buf[13]=0xff;
|
buf[13]=0xff;
|
||||||
status=nrf_snd_pkt_crc_encr(16,buf,thekey);
|
status=nrf_snd_pkt_crc_encr(16,buf,funkencrypt?thekey:NULL);
|
||||||
}else{
|
}else{
|
||||||
};
|
};
|
||||||
puts_plus("S state=");
|
puts_plus("S state=");
|
||||||
|
@ -310,7 +325,7 @@ int process(char * input){
|
||||||
puts_plus("D receive ...\r\n");
|
puts_plus("D receive ...\r\n");
|
||||||
nrf_rcv_pkt_start();
|
nrf_rcv_pkt_start();
|
||||||
do{
|
do{
|
||||||
len=nrf_rcv_pkt_poll_dec(sizeof(buf),buf,thekey);
|
len=nrf_rcv_pkt_poll_dec(sizeof(buf),buf,funkencrypt?thekey:NULL);
|
||||||
// Receive
|
// Receive
|
||||||
if(len==0||len==-1||len==-2){ //No pkt, Pkt2large, NoPktError
|
if(len==0||len==-1||len==-2){ //No pkt, Pkt2large, NoPktError
|
||||||
delayms(10);
|
delayms(10);
|
||||||
|
|
Loading…
Reference in New Issue