| | |
| | | public static void DoUpdateNextFirmware()
|
| | | {
|
| | | //下一个要执行更新的网关
|
| | | HdlGatewayUpdateLogic gwControl = null;
|
| | | foreach (var contr in FirmwareUpdateResourse.dicGatewayUpdateList.Values)
|
| | | HdlDeviceUpdateCommonLogic gwControl = null;
|
| | | //下一个要执行更新的设备
|
| | | HdlDeviceUpdateCommonLogic deviceControl = null;
|
| | | foreach (var contr in FirmwareUpdateResourse.dicUpdateList.Values)
|
| | | {
|
| | | //如果别的还在升级中,则不再处理
|
| | | if (contr.IsFinishUpdate == false)
|
| | | {
|
| | | return;
|
| | | }
|
| | | //如果这个网关是在等待列表的话
|
| | | //如果这个在等待列表的话
|
| | | if (contr.UpdateStatu == UpdateStatuMode.Wait && gwControl == null)
|
| | | {
|
| | | //下一个升级的就是它了
|
| | | gwControl = contr;
|
| | | if (contr.ClassDiv == 1 && gwControl == null)
|
| | | {
|
| | | //下一个升级的就是它了
|
| | | gwControl = contr;
|
| | | }
|
| | | else if (contr.ClassDiv == 2 && deviceControl == null)
|
| | | {
|
| | | //下一个升级的就是它了
|
| | | deviceControl = contr;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | HdlDeviceUpdateLogic deviceControl = null;
|
| | | foreach (var contr in FirmwareUpdateResourse.dicDeviceUpdateList.Values)
|
| | | {
|
| | | //如果别的还在升级中,则不再处理
|
| | | if (contr.IsFinishUpdate == false)
|
| | | {
|
| | | return;
|
| | | }
|
| | | //如果这个设备是在等待列表的话
|
| | | if (contr.UpdateStatu == UpdateStatuMode.Wait && deviceControl == null)
|
| | | {
|
| | | //下一个升级的就是它了
|
| | | deviceControl = contr;
|
| | | }
|
| | | }
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | if (gwControl != null)
|
| | | {
|
| | |
| | | FirmwareVersionInfo newFirInfo = null;
|
| | | foreach (var verInfo in listdata)
|
| | | {
|
| | | if (verInfo.Name.EndsWith(".bin") == true)
|
| | | {
|
| | | //它不是升级固件, .bin是特殊的
|
| | | continue;
|
| | | }
|
| | | if (verInfo.FirmwareVersion > nowVersion)
|
| | | {
|
| | | nowVersion = verInfo.FirmwareVersion;
|