Merge git://github.com/r0ket/r0ket
This commit is contained in:
commit
e39bed8182
|
@ -71,6 +71,21 @@ $(LOBJ):
|
||||||
OBJS += $(LOBJ)
|
OBJS += $(LOBJ)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq "$(APP)" "l0dable"
|
||||||
|
ifndef LAPP
|
||||||
|
LAPP=blinktest
|
||||||
|
endif
|
||||||
|
LSRC=../l0dable/$(LAPP).c
|
||||||
|
LOBJ=l0dable_$(LAPP).o
|
||||||
|
|
||||||
|
.PHONY: $(LOBJ)
|
||||||
|
|
||||||
|
$(LOBJ):
|
||||||
|
$(CC) $(CFLAGS) -o $@ $(LSRC)
|
||||||
|
|
||||||
|
OBJS += $(LOBJ)
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq "$(wildcard $(APP))" "$(APP)"
|
ifeq "$(wildcard $(APP))" "$(APP)"
|
||||||
ifndef TYPE
|
ifndef TYPE
|
||||||
TYPE=$(APP)
|
TYPE=$(APP)
|
||||||
|
|
|
@ -151,7 +151,6 @@ void init_flame(void) {
|
||||||
|
|
||||||
#include "lcd/print.h"
|
#include "lcd/print.h"
|
||||||
|
|
||||||
//# MENU debug ChkFlame
|
|
||||||
void ChkFlame(void) {
|
void ChkFlame(void) {
|
||||||
do{
|
do{
|
||||||
lcdClear();
|
lcdClear();
|
||||||
|
|
|
@ -199,6 +199,15 @@ void m_choose(){
|
||||||
lcdPrint(":");
|
lcdPrint(":");
|
||||||
lcdPrint(IntToStr(tm->tm_sec,2,F_LONG|F_ZEROS));
|
lcdPrint(IntToStr(tm->tm_sec,2,F_LONG|F_ZEROS));
|
||||||
lcdNl();
|
lcdNl();
|
||||||
|
|
||||||
|
if(tmm[i]=='T'){
|
||||||
|
lcdPrint(IntToStr(tm->tm_mday,2,F_LONG));
|
||||||
|
lcdPrint(".");
|
||||||
|
lcdPrint(IntToStr(tm->tm_mon+1,2,0));
|
||||||
|
lcdPrint(".");
|
||||||
|
lcdPrint(IntToStr(tm->tm_year+YEAR0,4,F_LONG|F_ZEROS));
|
||||||
|
lcdNl();
|
||||||
|
};
|
||||||
};
|
};
|
||||||
char *foo=(char *)MO_BODY(meshbuffer[j].pkt);
|
char *foo=(char *)MO_BODY(meshbuffer[j].pkt);
|
||||||
while(strlen(foo)>13){
|
while(strlen(foo)>13){
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
#include <sysinit.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "basic/basic.h"
|
||||||
|
#include "lcd/lcd.h"
|
||||||
|
#include "lcd/print.h"
|
||||||
|
#include "usb/usbmsc.h"
|
||||||
|
|
||||||
|
/**************************************************************************/
|
||||||
|
void gotoISP(void) {
|
||||||
|
DoString(0,0,"Enter ISP!");
|
||||||
|
lcdDisplay();
|
||||||
|
ISPandReset();
|
||||||
|
}
|
||||||
|
|
||||||
|
void msc_menu(void){
|
||||||
|
DoString(0,8,"MSC Enabled.");
|
||||||
|
lcdDisplay();
|
||||||
|
usbMSCInit();
|
||||||
|
while(!getInputRaw())delayms(10);
|
||||||
|
DoString(0,16,"MSC Disabled.");
|
||||||
|
usbMSCOff();
|
||||||
|
};
|
||||||
|
|
||||||
|
extern void (*ram)(void);
|
||||||
|
|
||||||
|
static const struct MENU mainmenu = {"Mainmenu", {
|
||||||
|
{"Run Loadable", &ram},
|
||||||
|
{"Invoke ISP", &gotoISP},
|
||||||
|
{"MSC", &msc_menu},
|
||||||
|
{NULL,NULL}
|
||||||
|
}};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************/
|
||||||
|
|
||||||
|
void main_l0dable(void) {
|
||||||
|
lcdClear();
|
||||||
|
lcdDisplay();
|
||||||
|
handleMenu(&mainmenu);
|
||||||
|
gotoISP();
|
||||||
|
};
|
|
@ -3,6 +3,7 @@
|
||||||
for a in $* ; do
|
for a in $* ; do
|
||||||
case $a in
|
case $a in
|
||||||
loadable_*) continue;;
|
loadable_*) continue;;
|
||||||
|
l0dable_*) continue;;
|
||||||
*/*) continue;;
|
*/*) continue;;
|
||||||
esac
|
esac
|
||||||
base=${a%.o}
|
base=${a%.o}
|
||||||
|
@ -16,6 +17,7 @@ echo "void wrapper(void){"
|
||||||
for a in $* ; do
|
for a in $* ; do
|
||||||
case $a in
|
case $a in
|
||||||
loadable_*) continue;;
|
loadable_*) continue;;
|
||||||
|
l0dable_*) continue;;
|
||||||
*/*) continue;;
|
*/*) continue;;
|
||||||
esac
|
esac
|
||||||
base=${a%.o}
|
base=${a%.o}
|
||||||
|
@ -29,6 +31,7 @@ echo "void tick_wrapper(void){"
|
||||||
for a in $* ; do
|
for a in $* ; do
|
||||||
case $a in
|
case $a in
|
||||||
loadable_*) continue;;
|
loadable_*) continue;;
|
||||||
|
l0dable_*) continue;;
|
||||||
*/*) continue;;
|
*/*) continue;;
|
||||||
esac
|
esac
|
||||||
base=${a%.o}
|
base=${a%.o}
|
||||||
|
|
|
@ -65,3 +65,5 @@ meshGetMessage
|
||||||
nickname
|
nickname
|
||||||
uint32touint8p
|
uint32touint8p
|
||||||
uint8ptouint32
|
uint8ptouint32
|
||||||
|
memset
|
||||||
|
nrf_config_set
|
||||||
|
|
|
@ -27,7 +27,6 @@ void uuid(void);
|
||||||
|
|
||||||
static const struct MENU submenu_debug={ "debug", {
|
static const struct MENU submenu_debug={ "debug", {
|
||||||
{ "ChkBattery", &ChkBattery},
|
{ "ChkBattery", &ChkBattery},
|
||||||
// { "ChkFlame", &ChkFlame},
|
|
||||||
{ "ChkLight", &ChkLight},
|
{ "ChkLight", &ChkLight},
|
||||||
{ "MeshInfo", &m_time},
|
{ "MeshInfo", &m_time},
|
||||||
{ "Qstatus", &Qstatus},
|
{ "Qstatus", &Qstatus},
|
||||||
|
@ -118,10 +117,10 @@ void uuid(void) {
|
||||||
iap_return = iapReadSerialNumber();
|
iap_return = iapReadSerialNumber();
|
||||||
lcdClear();
|
lcdClear();
|
||||||
lcdPrintln("UUID:");
|
lcdPrintln("UUID:");
|
||||||
lcdPrintIntHex(iap_return.Result[0]); lcdNl();
|
lcdPrintln(IntToStrX(iap_return.Result[0],8));
|
||||||
lcdPrintIntHex(iap_return.Result[1]); lcdNl();
|
lcdPrintln(IntToStrX(iap_return.Result[1],8));
|
||||||
lcdPrintIntHex(iap_return.Result[2]); lcdNl();
|
lcdPrintln(IntToStrX(iap_return.Result[2],8));
|
||||||
lcdPrintIntHex(iap_return.Result[3]); lcdNl();
|
lcdPrintln(IntToStrX(iap_return.Result[3],8));
|
||||||
lcdNl();
|
lcdNl();
|
||||||
lcdPrintln("Beacon ID:");
|
lcdPrintln("Beacon ID:");
|
||||||
lcdPrintln(IntToStrX(GetUUID32(),8));
|
lcdPrintln(IntToStrX(GetUUID32(),8));
|
||||||
|
@ -227,4 +226,3 @@ void m_time(void){
|
||||||
delayms_queue(50);
|
delayms_queue(50);
|
||||||
}while ((getInputRaw())==BTN_NONE);
|
}while ((getInputRaw())==BTN_NONE);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -24,9 +24,20 @@
|
||||||
|
|
||||||
|
|
||||||
uint8_t mac[5] = {1,2,3,2,1};
|
uint8_t mac[5] = {1,2,3,2,1};
|
||||||
|
struct NRF_CFG config = {
|
||||||
|
.channel= 81,
|
||||||
|
.txmac= "\x1\x2\x3\x2\x1",
|
||||||
|
.nrmacs=1,
|
||||||
|
.mac0= "\x1\x2\x3\x2\x1",
|
||||||
|
.maclen ="\x20",
|
||||||
|
};
|
||||||
|
|
||||||
void ram(void)
|
void ram(void)
|
||||||
{
|
{
|
||||||
|
memset(0,0,0);
|
||||||
|
nrf_config_set(&config);
|
||||||
|
|
||||||
|
|
||||||
if( sendKeys() )
|
if( sendKeys() )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
@ -30,12 +30,23 @@
|
||||||
|
|
||||||
//#include "lcd/print.h"
|
//#include "lcd/print.h"
|
||||||
|
|
||||||
|
void sendFile(char *filename);
|
||||||
|
|
||||||
uint8_t mac[5] = {1,2,3,2,1};
|
uint8_t mac[5] = {1,2,3,2,1};
|
||||||
|
struct NRF_CFG config = {
|
||||||
|
.channel= 81,
|
||||||
|
.txmac= "\x1\x2\x3\x2\x1",
|
||||||
|
.nrmacs=1,
|
||||||
|
.mac0= "\x1\x2\x3\x2\x1",
|
||||||
|
.maclen ="\x20",
|
||||||
|
};
|
||||||
|
|
||||||
void ram(void)
|
void ram(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
nrf_config_set(&config);
|
||||||
|
|
||||||
|
|
||||||
char file[13];
|
char file[13];
|
||||||
selectFile(file,"TXT");
|
selectFile(file,"TXT");
|
||||||
sendFile(file);
|
sendFile(file);
|
||||||
|
@ -43,7 +54,8 @@ void ram(void)
|
||||||
|
|
||||||
void sendR(uint8_t *rx, uint8_t *ry)
|
void sendR(uint8_t *rx, uint8_t *ry)
|
||||||
{
|
{
|
||||||
uint8_t exp[2 + 4*NUMWORDS + 2];
|
//uint8_t exp[2 + 4*NUMWORDS + 2];
|
||||||
|
uint8_t exp[32];
|
||||||
exp[0] = 'R';
|
exp[0] = 'R';
|
||||||
for(int i=0; i<4*NUMWORDS; i++)
|
for(int i=0; i<4*NUMWORDS; i++)
|
||||||
exp[2+i] = rx[i];
|
exp[2+i] = rx[i];
|
||||||
|
@ -54,6 +66,7 @@ void sendR(uint8_t *rx, uint8_t *ry)
|
||||||
for(int i=0; i<4*NUMWORDS; i++)
|
for(int i=0; i<4*NUMWORDS; i++)
|
||||||
exp[2+i] = ry[i];
|
exp[2+i] = ry[i];
|
||||||
nrf_snd_pkt_crc(32, exp);
|
nrf_snd_pkt_crc(32, exp);
|
||||||
|
|
||||||
delayms(10);
|
delayms(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
size_t strlen(const char *s);
|
size_t strlen(const char *s);
|
||||||
char * strcpy(char * restrict dst, const char * restrict src);
|
char strcpy(char * restrict dst, const char * restrict src);
|
||||||
void * memcpy(void *dst, const void *src, size_t len);
|
void memcpy(void *dst, const void *src, size_t len);
|
||||||
|
void memset(void *s, int c, size_t n);
|
||||||
|
|
|
@ -432,9 +432,9 @@ int DoInt(int sx, int sy, int num){
|
||||||
#undef mxlen
|
#undef mxlen
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define MAX 8
|
||||||
int DoIntXn(int sx, int sy, unsigned int num, unsigned int mxlen){
|
int DoIntXn(int sx, int sy, unsigned int num, unsigned int mxlen){
|
||||||
char s[(mxlen+1)];
|
char s[(MAX+1)];
|
||||||
char * o=s;
|
|
||||||
int len;
|
int len;
|
||||||
s[mxlen]=0;
|
s[mxlen]=0;
|
||||||
for (len=(mxlen-1);len>=0;len--){
|
for (len=(mxlen-1);len>=0;len--){
|
||||||
|
@ -443,8 +443,9 @@ int DoIntXn(int sx, int sy, unsigned int num, unsigned int mxlen){
|
||||||
s[len]+='A'-'9'-1;
|
s[len]+='A'-'9'-1;
|
||||||
num/=16;
|
num/=16;
|
||||||
};
|
};
|
||||||
return DoString(sx,sy,o);
|
return DoString(sx,sy,s);
|
||||||
};
|
};
|
||||||
|
#undef MAX
|
||||||
|
|
||||||
int DoIntX(int sx, int sy, unsigned int num){
|
int DoIntX(int sx, int sy, unsigned int num){
|
||||||
return DoIntXn(sx, sy, num, 8);
|
return DoIntXn(sx, sy, num, 8);
|
||||||
|
|
Loading…
Reference in New Issue