Skip to content

Commit d935b37

Browse files
jenkiethomasjfox
authored andcommitted
Added support for Bafang SW102 display
1 parent 217b6f5 commit d935b37

File tree

2 files changed

+37
-3
lines changed

2 files changed

+37
-3
lines changed

Arduino_Pedelec_Controller/config.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
#define DISPLAY_TYPE_KINGMETER (DISPLAY_TYPE_KINGMETER_618U|DISPLAY_TYPE_KINGMETER_901U)
2626
#define DISPLAY_TYPE_BAFANG_C961 (1<<9)
2727
#define DISPLAY_TYPE_BAFANG_C965 (1<<10)
28-
#define DISPLAY_TYPE_BAFANG (DISPLAY_TYPE_BAFANG_C961|DISPLAY_TYPE_BAFANG_C965)
28+
#define DISPLAY_TYPE_BAFANG_SW102 (1<<11)
29+
#define DISPLAY_TYPE_BAFANG (DISPLAY_TYPE_BAFANG_C961|DISPLAY_TYPE_BAFANG_C965|DISPLAY_TYPE_BAFANG_SW102)
2930

3031
#define DISPLAY_TYPE DISPLAY_TYPE_NOKIA_4PIN // Set your display type here. CHANGES ONLY HERE!<-----------------------------
3132

Arduino_Pedelec_Controller/display_bafang.cpp

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ void Bafang_Service(BAFANG_t* BF_ctx)
129129
case BF_CMD_GETSPEED:
130130
#if (DISPLAY_TYPE==DISPLAY_TYPE_BAFANG_C961)
131131
spd_tmp=BF_ctx->Rx.Wheeldiameter*0.02*spd;
132-
#elif (DISPLAY_TYPE==DISPLAY_TYPE_BAFANG_C965)
132+
#elif (DISPLAY_TYPE==DISPLAY_TYPE_BAFANG_C965 || DISPLAY_TYPE==DISPLAY_TYPE_BAFANG_SW102)
133133
spd_tmp=BF_ctx->Rx.Wheeldiameter*0.03887*spd;
134134
#endif
135135
TxBuff[0]=(spd_tmp>>8);
@@ -142,10 +142,43 @@ void Bafang_Service(BAFANG_t* BF_ctx)
142142
TxBuff[0]=1;
143143
BF_sendmessage(BF_ctx,1);
144144
break;
145-
145+
146146
case BF_CMD_GETBAT:
147+
#if (DISPLAY_TYPE==DISPLAY_TYPE_BAFANG_SW102)
148+
if(battery_percent_fromcapacity>90)
149+
{
150+
TxBuff[0]=75;
151+
TxBuff[1]=75;
152+
}
153+
else if (battery_percent_fromcapacity>70)
154+
{
155+
TxBuff[0]=50;
156+
TxBuff[1]=50;
157+
}
158+
else if (battery_percent_fromcapacity>50)
159+
{
160+
TxBuff[0]=30;
161+
TxBuff[1]=30;
162+
}
163+
else if (battery_percent_fromcapacity>30)
164+
{
165+
TxBuff[0]=10;
166+
TxBuff[1]=10;
167+
}
168+
else if (battery_percent_fromcapacity>10)
169+
{
170+
TxBuff[0]=6;
171+
TxBuff[1]=6;
172+
}
173+
else
174+
{
175+
TxBuff[0]=0;
176+
TxBuff[1]=0;
177+
}
178+
#else
147179
TxBuff[0]=battery_percent_fromcapacity;
148180
TxBuff[1]=battery_percent_fromcapacity;
181+
#endif
149182
BF_sendmessage(BF_ctx,2);
150183
break;
151184

0 commit comments

Comments
 (0)