function c = hil_blocks_control
%

%   Copyright 2023 The MathWorks, Inc.

%%%%%%% get block path %%%%%%%%%%%%%%%%%%

% hdlgetblocklibpath

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

c = hdlnewcontrol(mfilename);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                             %
%  BLOCKSET BINDINGS          %
%                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Use hdlgetblocklibpath to get block path

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% HDLSSCLIB/HDL Logic Table
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
c.defaultFor(...
    'hdlssclib/HDL Logic Table', {}, ...
    'hil_blocks.LogicTable');

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% HDLSSCLIB/NFPSparseConstMultiply
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
c.defaultFor( ...
    'hdlssclib/NFPSparseConstMultiply', {}, ...
    'hil_blocks.NFPSparseConstMultiply');

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% HDLSSCLIB/Dynamic State-Space
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
c.defaultFor( ...
    'hdlssclib/Dynamic State-Space', {}, ...
    'hil_blocks.StateSpace');

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% HDLRCPHILLib/Sparse Matrix-Vector Product
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
c.defaultFor( ...
    ['HDLRCPHILLib/Sparse Matrix-Vector', newline, 'Product'], {}, ...
    'hil_blocks.SparseMatrixVectorProduct');

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% HDLRCPHILLib/DiscreteStateSpace
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
c.defaultFor( ...
    'built-in/DiscreteStateSpace', {}, ...
    'hil_blocks.DiscreteStateSpace');

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% HDLRCPHILLib/PWM
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
c.defaultFor( ...
    'simulink/Discontinuities/PWM', {}, ...
    'hil_blocks.PWM');
