8 changed files with 43 additions and 74 deletions
-
2app_protocols/transmit_disfection_protocol
-
14usrc/base/appthread/app_period_task_mgr.cpp
-
9usrc/board/large_space_dm_liquid_ctrl_board.hpp
-
16usrc/board/large_space_dm_power_ctrl_board.hpp
-
50usrc/board_base/app_share/air_compressor_controller copy.hpp
-
8usrc/board_base/app_share/air_compressor_controller.hpp
-
8usrc/board_base/app_share/blower_controller.hpp
-
10usrc/board_base/app_share/heater_controller.hpp
@ -1 +1 @@ |
|||
Subproject commit ccb45a79b05794f108c060f146d1f7069686048b |
|||
Subproject commit a08705a05778e93df1922ffb42d889231ff09bf3 |
@ -1,50 +0,0 @@ |
|||
#pragma once
|
|||
#include "base/appdep.hpp"
|
|||
|
|||
namespace iflytop { |
|||
using namespace zscanprotocol; |
|||
using namespace transmit_disfection_protocol; |
|||
|
|||
class AirCompressorController { |
|||
ZGPIO m_AirCompressor_ctrlGpio; |
|||
ZADC m_AirCompressor_iAdc; |
|||
|
|||
public: |
|||
static AirCompressorController* ins() { |
|||
static AirCompressorController instance; |
|||
return &instance; |
|||
} |
|||
|
|||
void initialize(Pin_t ctrlGpio, ADC_HandleTypeDef* iadc, uint32_t ich) { |
|||
m_AirCompressor_ctrlGpio.initAsOutput(ctrlGpio, kxs_gpio_nopull, true, false); |
|||
m_AirCompressor_iAdc.initialize("AirComAdc", iadc, ich); |
|||
|
|||
AppPeriodTaskMgr::ins()->regTask("AirComAdc", AirCompressorController::periodTask, this, 10); |
|||
} |
|||
|
|||
// FN
|
|||
void air_compressor_ctrl(int32_t val) { m_AirCompressor_ctrlGpio.write(val); } |
|||
void air_compressor_ctrl_safe_valve(int32_t val) {} |
|||
int32_t air_compressor_read_electric_current() { return airCompressorAdcToCurrent(m_AirCompressor_iAdc.getCacheVal()); } |
|||
|
|||
// PP
|
|||
void fn_air_compressor_ctrl(ProcessContext* cxt) { //
|
|||
air_compressor_ctrl(GET_PARAM(0)); |
|||
zcanbus_send_ack(cxt->packet, NULL, 0); |
|||
} |
|||
void fn_air_compressor_ctrl_safe_valve(ProcessContext* cxt) { //
|
|||
air_compressor_ctrl_safe_valve(GET_PARAM(0)); |
|||
zcanbus_send_ack(cxt->packet, NULL, 0); |
|||
} |
|||
void fn_air_compressor_read_electric_current(ProcessContext* cxt) { //
|
|||
auto val = air_compressor_read_electric_current(); |
|||
zcanbus_send_ack(cxt->packet, (uint8_t*)val, sizeof(val)); |
|||
} |
|||
|
|||
private: |
|||
static void periodTask(void* p) { ((AirCompressorController*)p)->periodTask(); } |
|||
void periodTask() { m_AirCompressor_iAdc.updateAdcValToCache(); } |
|||
}; |
|||
} // namespace iflytop
|
|||
|
|||
#pragma once
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue