Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
Widget
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Android Widget
Widget
Commits
2dfbd1ea
Commit
2dfbd1ea
authored
May 26, 2022
by
tongzifang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加aclas scale
parent
b2013561
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
111 additions
and
27 deletions
+111
-27
ZqToolActivity.kt
app/src/main/java/com/qimai/android/widget/ZqToolActivity.kt
+1
-1
build.gradle
zqtoolkit/build.gradle
+1
-1
blelib-debug.aar
zqtoolkit/libs/blelib-debug.aar
+0
-0
ScaleHub.kt
zqtoolkit/src/main/java/com/qmai/zqtoolkit/ScaleHub.kt
+51
-16
AclasScaleKit.kt
...it/src/main/java/com/qmai/zqtoolkit/base/AclasScaleKit.kt
+28
-6
QmScaleType.kt
...it/src/main/java/com/qmai/zqtoolkit/config/QmScaleType.kt
+9
-0
ScaleChecker.kt
...it/src/main/java/com/qmai/zqtoolkit/utils/ScaleChecker.kt
+21
-3
No files found.
app/src/main/java/com/qimai/android/widget/ZqToolActivity.kt
View file @
2dfbd1ea
...
@@ -14,6 +14,7 @@ import com.blankj.utilcode.util.ConvertUtils
...
@@ -14,6 +14,7 @@ import com.blankj.utilcode.util.ConvertUtils
import
com.blankj.utilcode.util.DeviceUtils
import
com.blankj.utilcode.util.DeviceUtils
import
com.qmai.zqtoolkit.LEDHub
import
com.qmai.zqtoolkit.LEDHub
import
com.qmai.zqtoolkit.ScaleHub
import
com.qmai.zqtoolkit.ScaleHub
import
com.qmai.zqtoolkit.config.QmScaleType
import
com.qmai.zqtoolkit.config.ZQ_END
import
com.qmai.zqtoolkit.config.ZQ_END
import
com.qmai.zqtoolkit.config.ZQ_WEIGHT_START
import
com.qmai.zqtoolkit.config.ZQ_WEIGHT_START
import
kotlinx.coroutines.flow.collect
import
kotlinx.coroutines.flow.collect
...
@@ -92,7 +93,6 @@ class ZqToolActivity : AppCompatActivity() {
...
@@ -92,7 +93,6 @@ class ZqToolActivity : AppCompatActivity() {
//
//
sp
=
getSharedPreferences
(
"com.example.zqebsdksample_preferences"
,
MODE_PRIVATE
)
sp
=
getSharedPreferences
(
"com.example.zqebsdksample_preferences"
,
MODE_PRIVATE
)
//
//
Log
.
v
(
"ScaleHub"
,
DeviceUtils
.
getManufacturer
())
val
ListPort
:
MutableList
<
String
>
=
ArrayList
()
val
ListPort
:
MutableList
<
String
>
=
ArrayList
()
ListPort
.
add
(
"ttyS0"
)
ListPort
.
add
(
"ttyS0"
)
ListPort
.
add
(
"ttyS1"
)
ListPort
.
add
(
"ttyS1"
)
...
...
zqtoolkit/build.gradle
View file @
2dfbd1ea
...
@@ -30,7 +30,7 @@ android {
...
@@ -30,7 +30,7 @@ android {
}
}
}
}
group
'com.qmai.android.zqtoolkit'
group
'com.qmai.android.zqtoolkit'
version
'1.0.7.
1
'
version
'1.0.7.
2
'
gradlePublish
{
gradlePublish
{
...
...
zqtoolkit/libs/blelib-debug.aar
deleted
100644 → 0
View file @
b2013561
File deleted
zqtoolkit/src/main/java/com/qmai/zqtoolkit/ScaleHub.kt
View file @
2dfbd1ea
package
com.qmai.zqtoolkit
package
com.qmai.zqtoolkit
import
android.content.Context
import
android.content.Context
import
android.os.Build
import
android.util.Log
import
com.blankj.utilcode.util.DeviceUtils
import
com.blankj.utilcode.util.GsonUtils
import
com.blankj.utilcode.util.ToastUtils
import
com.qmai.zqtoolkit.base.AclasScaleKit
import
com.qmai.zqtoolkit.base.SunmiScaleKit
import
com.qmai.zqtoolkit.base.SunmiScaleKit
import
com.qmai.zqtoolkit.base.ZqScaleKit
import
com.qmai.zqtoolkit.base.ZqScaleKit
import
com.qmai.zqtoolkit.base.scale.ScaleBaseAction
import
com.qmai.zqtoolkit.base.scale.ScaleBaseAction
import
com.qmai.zqtoolkit.base.scale.ScaleBaseKit
import
com.qmai.zqtoolkit.config.QmScaleType
import
com.qmai.zqtoolkit.utils.ScaleChecker
import
com.qmai.zqtoolkit.utils.ScaleChecker
import
kotlinx.coroutines.*
import
kotlinx.coroutines.*
import
kotlinx.coroutines.flow.MutableSharedFlow
import
kotlinx.coroutines.flow.MutableSharedFlow
...
@@ -24,19 +32,46 @@ object ScaleHub : ScaleBaseAction {
...
@@ -24,19 +32,46 @@ object ScaleHub : ScaleBaseAction {
val
livingWeight
:
SharedFlow
<
LivingWeight
>
=
_livingWeight
val
livingWeight
:
SharedFlow
<
LivingWeight
>
=
_livingWeight
private
var
connectJob
:
CoroutineScope
?
=
null
private
var
connectJob
:
CoroutineScope
?
=
null
private
var
weightJob
:
CoroutineScope
?
=
null
private
var
weightJob
:
CoroutineScope
?
=
null
private
val
scaleKit
by
lazy
{
private
var
scaleKit
:
ScaleBaseKit
?
=
null
when
{
// private val scaleKit by lazy {
ScaleChecker
.
isSUNMI
()
->
{
// when {
// ScaleChecker.isZQ() -> ZqScaleKit
// ScaleChecker.isSUNMI() -> SunmiScaleKit
// else -> AclasScaleKit
// }
// }
fun
initScale
(
qmScaleType
:
QmScaleType
)
{
disconnect
()
scaleKit
=
when
(
qmScaleType
)
{
QmScaleType
.
SUNMI
->
{
SunmiScaleKit
SunmiScaleKit
}
}
else
->
{
QmScaleType
.
ZQEB
->
{
ZqScaleKit
ZqScaleKit
}
}
QmScaleType
.
ACLAS
->
{
AclasScaleKit
}
}
}
private
fun
tryInit
():
Boolean
{
scaleKit
=
when
{
ScaleChecker
.
isZQ
()
->
ZqScaleKit
ScaleChecker
.
isSUNMI
()
->
SunmiScaleKit
else
->
AclasScaleKit
}
}
return
scaleKit
==
null
}
}
override
fun
connect
(
cxt
:
Context
?,
port
:
String
?,
buad
:
String
?)
{
override
fun
connect
(
cxt
:
Context
?,
port
:
String
?,
buad
:
String
?)
{
// var trueCxt = cxt?.applicationContext
// var trueCxt = cxt?.applicationContext
if
(
tryInit
())
{
ToastUtils
.
showShort
(
"请选择正确的电子秤"
)
return
}
//称只给连一个端口,其他端口用其他hub
//称只给连一个端口,其他端口用其他hub
if
(
isScaleSuccess
())
{
if
(
isScaleSuccess
())
{
return
return
...
@@ -45,7 +80,7 @@ object ScaleHub : ScaleBaseAction {
...
@@ -45,7 +80,7 @@ object ScaleHub : ScaleBaseAction {
connectJob
=
CoroutineScope
(
EmptyCoroutineContext
)
connectJob
=
CoroutineScope
(
EmptyCoroutineContext
)
}
}
connectJob
?.
launch
(
context
=
Dispatchers
.
IO
)
{
connectJob
?.
launch
(
context
=
Dispatchers
.
IO
)
{
scaleKit
.
connect
(
cxt
,
port
,
buad
)
scaleKit
?
.
connect
(
cxt
,
port
,
buad
)
if
(
scaleKit
is
ZqScaleKit
)
{
if
(
scaleKit
is
ZqScaleKit
)
{
LEDHub
.
connect
()
LEDHub
.
connect
()
}
}
...
@@ -54,14 +89,14 @@ object ScaleHub : ScaleBaseAction {
...
@@ -54,14 +89,14 @@ object ScaleHub : ScaleBaseAction {
}
}
private
suspend
fun
collectConnectData
()
{
private
suspend
fun
collectConnectData
()
{
scaleKit
.
connectState
.
collect
{
scaleKit
?.
connectState
?
.
collect
{
_connectState
.
emit
(
it
)
_connectState
.
emit
(
it
)
}
}
}
}
//断开连接
//断开连接
override
fun
disconnect
()
{
override
fun
disconnect
()
{
scaleKit
.
disconnect
()
scaleKit
?
.
disconnect
()
LEDHub
.
clearLED
()
LEDHub
.
clearLED
()
weightJob
?.
cancel
()
weightJob
?.
cancel
()
weightJob
=
null
weightJob
=
null
...
@@ -72,32 +107,32 @@ object ScaleHub : ScaleBaseAction {
...
@@ -72,32 +107,32 @@ object ScaleHub : ScaleBaseAction {
//置零
//置零
override
fun
setZero
()
{
override
fun
setZero
()
{
scaleKit
.
setZero
()
scaleKit
?
.
setZero
()
}
}
//去皮
//去皮
override
fun
setNetWeight
()
{
override
fun
setNetWeight
()
{
scaleKit
.
setNetWeight
()
scaleKit
?
.
setNetWeight
()
}
}
//数字去皮
//数字去皮
override
fun
setNetWeightByElec
(
tare
:
Double
)
{
override
fun
setNetWeightByElec
(
tare
:
Double
)
{
scaleKit
.
setNetWeightByElec
(
tare
)
scaleKit
?
.
setNetWeightByElec
(
tare
)
}
}
//清皮
//清皮
override
fun
clearTare
()
{
override
fun
clearTare
()
{
scaleKit
.
clearTare
()
scaleKit
?
.
clearTare
()
}
}
//读取电子秤参数
//读取电子秤参数
override
fun
getParameter
():
Array
<
String
>
{
override
fun
getParameter
():
Array
<
String
>
{
return
scaleKit
.
getParameter
()
return
scaleKit
?.
getParameter
()
?:
arrayOf
()
}
}
//电子秤是否可用
//电子秤是否可用
override
fun
isScaleSuccess
():
Boolean
{
override
fun
isScaleSuccess
():
Boolean
{
return
scaleKit
.
isScaleSuccess
()
return
scaleKit
?.
isScaleSuccess
()
?:
false
}
}
...
@@ -108,13 +143,13 @@ object ScaleHub : ScaleBaseAction {
...
@@ -108,13 +143,13 @@ object ScaleHub : ScaleBaseAction {
}
}
connectJob
?.
launch
(
context
=
Dispatchers
.
IO
)
{
connectJob
?.
launch
(
context
=
Dispatchers
.
IO
)
{
scaleKit
.
readData
()
scaleKit
?
.
readData
()
collectWeightData
()
collectWeightData
()
}
}
}
}
private
suspend
fun
collectWeightData
()
{
private
suspend
fun
collectWeightData
()
{
scaleKit
.
livingWeight
.
collect
{
scaleKit
?.
livingWeight
?
.
collect
{
_livingWeight
.
emit
(
it
)
_livingWeight
.
emit
(
it
)
if
(
it
.
isReadErr
==
false
)
{
if
(
it
.
isReadErr
==
false
)
{
LEDHub
.
sendLEDWeight
(
it
.
weight
)
LEDHub
.
sendLEDWeight
(
it
.
weight
)
...
@@ -123,7 +158,7 @@ object ScaleHub : ScaleBaseAction {
...
@@ -123,7 +158,7 @@ object ScaleHub : ScaleBaseAction {
}
}
override
fun
stopReadData
()
{
override
fun
stopReadData
()
{
scaleKit
.
stopReadData
()
scaleKit
?
.
stopReadData
()
LEDHub
.
clearLED
()
LEDHub
.
clearLED
()
}
}
...
...
zqtoolkit/src/main/java/com/qmai/zqtoolkit/base/AclasScaleKit.kt
View file @
2dfbd1ea
...
@@ -2,9 +2,11 @@ package com.qmai.zqtoolkit.base
...
@@ -2,9 +2,11 @@ package com.qmai.zqtoolkit.base
import
android.content.Context
import
android.content.Context
import
android.util.Log
import
android.util.Log
import
com.blankj.utilcode.util.GsonUtils
import
com.example.scaler.AclasScaler
import
com.example.scaler.AclasScaler
import
com.example.scaler.AclasScaler.AclasScalerListener
import
com.example.scaler.AclasScaler.AclasScalerListener
import
com.qmai.zqtoolkit.ConnectState
import
com.qmai.zqtoolkit.ConnectState
import
com.qmai.zqtoolkit.LivingWeight
import
com.qmai.zqtoolkit.base.scale.ScaleBaseKit
import
com.qmai.zqtoolkit.base.scale.ScaleBaseKit
/**
/**
...
@@ -24,16 +26,23 @@ object AclasScaleKit : ScaleBaseKit() {
...
@@ -24,16 +26,23 @@ object AclasScaleKit : ScaleBaseKit() {
updateState
(
ConnectState
(
true
,
"打开成功"
))
updateState
(
ConnectState
(
true
,
"打开成功"
))
}
}
override
fun
onRcvData
(
p0
:
AclasScaler
.
WeightInfoNew
?)
{
override
fun
onRcvData
(
weght
:
AclasScaler
.
WeightInfoNew
?)
{
Log
.
v
(
TAG
,
GsonUtils
.
toJson
(
weght
))
getTare
()
updateWeight
(
LivingWeight
(
weght
?.
isStable
?:
false
,
weght
.
toString
().
replace
(
weght
?.
unit
?:
""
,
""
),
weght
?.
unit
?:
""
,
weght
?.
tareWeight
?.
toString
()
?:
""
,
weght
?.
netWeight
==
null
)
)
}
}
override
fun
onError
(
p0
:
Int
,
p1
:
String
?)
{
override
fun
onError
(
p0
:
Int
,
p1
:
String
?)
{
Log
.
v
(
TAG
,
"onError:$p0$p1"
)
}
}
override
fun
onUpdateProcess
(
p0
:
Int
,
p1
:
Int
)
{
override
fun
onUpdateProcess
(
p0
:
Int
,
p1
:
Int
)
{
Log
.
v
(
TAG
,
"onUpdateProcess:$p0$p1"
)
}
}
}
}
...
@@ -44,7 +53,9 @@ object AclasScaleKit : ScaleBaseKit() {
...
@@ -44,7 +53,9 @@ object AclasScaleKit : ScaleBaseKit() {
aclasScaler
=
AclasScaler
(
AclasScaler
.
Type_SerialPort
,
it
,
aclasScalerListener
)
aclasScaler
=
AclasScaler
(
AclasScaler
.
Type_SerialPort
,
it
,
aclasScalerListener
)
}
}
}
}
aclasScaler
?.
AclasConnect
(
"/dev/"
+
(
port
?:
"ttyS4"
),
buad
?.
toInt
()
?:
9600
,
0
)
val
aclasConnect
=
aclasScaler
?.
AclasConnect
(
"/dev/"
+
(
port
?:
"ttyUSER0"
),
buad
?.
toInt
()
?:
9600
,
0
)
Log
.
v
(
TAG
,
"aclasConnect:$aclasConnect"
)
}
}
override
fun
disconnect
()
{
override
fun
disconnect
()
{
...
@@ -68,6 +79,13 @@ object AclasScaleKit : ScaleBaseKit() {
...
@@ -68,6 +79,13 @@ object AclasScaleKit : ScaleBaseKit() {
}
}
}
}
private
fun
getTare
()
{
if
(
isScaleSuccess
())
{
val
getTare
=
aclasScaler
?.
AclasReadTareValue
()
Log
.
v
(
TAG
,
"getTare:$getTare"
)
}
}
override
fun
setNetWeight
()
{
override
fun
setNetWeight
()
{
if
(
isScaleSuccess
())
{
if
(
isScaleSuccess
())
{
val
aclasTare
=
aclasScaler
?.
AclasTare
()
val
aclasTare
=
aclasScaler
?.
AclasTare
()
...
@@ -82,8 +100,12 @@ object AclasScaleKit : ScaleBaseKit() {
...
@@ -82,8 +100,12 @@ object AclasScaleKit : ScaleBaseKit() {
}
}
}
}
//去除 除皮一个方法
override
fun
clearTare
()
{
override
fun
clearTare
()
{
if
(
isScaleSuccess
())
{
val
clearTare
=
aclasScaler
?.
AclasTare
()
Log
.
v
(
TAG
,
"clearTare:$clearTare"
)
}
}
}
override
fun
getParameter
():
Array
<
String
>
{
override
fun
getParameter
():
Array
<
String
>
{
...
...
zqtoolkit/src/main/java/com/qmai/zqtoolkit/config/QmScaleType.kt
0 → 100644
View file @
2dfbd1ea
package
com.qmai.zqtoolkit.config
/**
* tongzi
* 2022/5/26
*/
enum
class
QmScaleType
{
SUNMI
,
ZQEB
,
ACLAS
}
\ No newline at end of file
zqtoolkit/src/main/java/com/qmai/zqtoolkit/utils/ScaleChecker.kt
View file @
2dfbd1ea
package
com.qmai.zqtoolkit.utils
package
com.qmai.zqtoolkit.utils
import
android.os.Build
import
com.blankj.utilcode.util.DeviceUtils
/**
/**
* tongzi
* tongzi
...
@@ -9,7 +11,23 @@ import android.os.Build
...
@@ -9,7 +11,23 @@ import android.os.Build
object
ScaleChecker
{
object
ScaleChecker
{
/**
/**
* 商米
* 商米电子秤
* model :S2_CC manufacturer : SUNMI
*/
fun
isSUNMI
()
=
DeviceUtils
.
getManufacturer
().
lowercase
().
contains
(
"sunmi"
)
&&
DeviceUtils
.
getModel
().
lowercase
().
contains
(
"s2_cc"
)
/**
* 中崎电子秤
* model :J3368 manufacturer : rockchip
* C356602 rockchip
*/
fun
isZQ
()
=
DeviceUtils
.
getManufacturer
().
lowercase
().
contains
(
"rockchip"
)
&&
(
DeviceUtils
.
getModel
().
lowercase
().
contains
(
"j3368"
)
||
DeviceUtils
.
getModel
()
.
lowercase
().
contains
(
"c356602"
))
/**
* 顶尖不是直接连接,无法判断
*/
*/
fun
isSUNMI
()
=
Build
.
BRAND
.
lowercase
().
contains
(
"sunmi"
)
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment