3D-ICE 3.0.0
output.h
Go to the documentation of this file.
1/******************************************************************************
2 * This file is part of 3D-ICE, version 3.1.0 . *
3 * *
4 * 3D-ICE is free software: you can redistribute it and/or modify it under *
5 * the terms of the GNU General Public License as published by the Free *
6 * Software Foundation, either version 3 of the License, or any later *
7 * version. *
8 * *
9 * 3D-ICE is distributed in the hope that it will be useful, but WITHOUT *
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
12 * more details. *
13 * *
14 * You should have received a copy of the GNU General Public License along *
15 * with 3D-ICE. If not, see <http://www.gnu.org/licenses/>. *
16 * *
17 * Copyright (C) 2021 *
18 * Embedded Systems Laboratory - Ecole Polytechnique Federale de Lausanne *
19 * All Rights Reserved. *
20 * *
21 * Authors: Arvind Sridhar Alessandro Vincenzi *
22 * Giseong Bak Martino Ruggiero *
23 * Thomas Brunschwiler Eder Zulian *
24 * Federico Terraneo Darong Huang *
25 * Luis Costero Marina Zapater *
26 * David Atienza *
27 * *
28 * For any comment, suggestion or request about 3D-ICE, please register and *
29 * write to the mailing list (see http://listes.epfl.ch/doc.cgi?liste=3d-ice) *
30 * Any usage of 3D-ICE for research, commercial or other purposes must be *
31 * properly acknowledged in the resulting products or publications. *
32 * *
33 * EPFL-STI-IEL-ESL Mail : 3d-ice@listes.epfl.ch *
34 * Batiment ELG, ELG 130 (SUBSCRIPTION IS NECESSARY) *
35 * Station 11 *
36 * 1015 Lausanne, Switzerland Url : http://esl.epfl.ch/3d-ice *
37 ******************************************************************************/
38
39#ifndef _3DICE_OUTPUT_H_
40#define _3DICE_OUTPUT_H_
41
44#ifdef __cplusplus
45extern "C"
46{
47#endif
48
49/******************************************************************************/
50
51#include <stdio.h> // For the file type FILE
52
53#include "types.h"
54#include "string_t.h"
55
56#include "dimensions.h"
57#include "inspection_point_list.h"
58#include "network_message.h"
59
60/******************************************************************************/
61
68 struct Output_t
69 {
73 InspectionPointList_t InspectionPointListFinal ;
74
78 InspectionPointList_t InspectionPointListSlot ;
79
83 InspectionPointList_t InspectionPointListStep ;
84
85 } ;
86
89 typedef struct Output_t Output_t;
90
91
92
93/******************************************************************************/
94
95
96
102 void output_init (Output_t *output) ;
103
104
105
114 void output_copy (Output_t *dst, Output_t *src) ;
115
116
117
126 void output_destroy (Output_t *output) ;
127
128
129
138 void output_print (Output_t *output, FILE *stream, String_t prefix) ;
139
140
153 (
154 Output_t *output,
155 OutputInstant_t instant,
156 OutputType_t type,
157 OutputQuantity_t quantity
158 ) ;
159
160
161
168 void add_inspection_point (Output_t *output, InspectionPoint_t *ipoint) ;
169
170
171
188
189 (Output_t *output, Dimensions_t *dimensions, String_t prefix) ;
190
191
192
207 (
208 Output_t *output,
209 Dimensions_t *dimensions,
210 Temperature_t *temperatures,
211 Source_t *sources,
212 Time_t current_time,
213 OutputInstant_t output_instant
214 ) ;
215
216
217
235 (
236 Output_t *output,
237 Dimensions_t *dimensions,
238 Temperature_t *temperatures,
239 Source_t *sources,
240 OutputInstant_t output_instant,
241 OutputType_t output_type,
242 OutputQuantity_t output_quantity,
243 NetworkMessage_t *message
244 ) ;
245
246/******************************************************************************/
247
248#ifdef __cplusplus
249}
250#endif
251
252#endif /* _3DICE_OUTPUT_H_ */
void output_destroy(Output_t *output)
Definition: output.c:74
void output_print(Output_t *output, FILE *stream, String_t prefix)
Definition: output.c:134
void add_inspection_point(Output_t *output, InspectionPoint_t *ipoint)
Definition: output.c:161
Error_t fill_output_message(Output_t *output, Dimensions_t *dimensions, Temperature_t *temperatures, Source_t *sources, OutputInstant_t output_instant, OutputType_t output_type, OutputQuantity_t output_quantity, NetworkMessage_t *message)
Definition: output.c:291
Error_t generate_output(Output_t *output, Dimensions_t *dimensions, Temperature_t *temperatures, Source_t *sources, Time_t current_time, OutputInstant_t output_instant)
Definition: output.c:238
Error_t generate_output_headers(Output_t *output, Dimensions_t *dimensions, String_t prefix)
Definition: output.c:191
Quantity_t get_number_of_inspection_points(Output_t *output, OutputInstant_t instant, OutputType_t type, OutputQuantity_t quantity)
Definition: output.c:86
void output_copy(Output_t *dst, Output_t *src)
Definition: output.c:55
void output_init(Output_t *output)
Definition: output.c:46
char * String_t
Definition: string_t.h:55
Collections of all the structures that are needed for the thermal simulation.
Definition: dimensions.h:311
Structure containing info about the output to be printed while simulating.
Structure used to store messages to be sent over network.
Informations about the type of thermal simulation to be run and its initial settings.
Definition: output.h:69
InspectionPointList_t InspectionPointListFinal
Definition: output.h:73
InspectionPointList_t InspectionPointListSlot
Definition: output.h:78
InspectionPointList_t InspectionPointListStep
Definition: output.h:83
Error_t
Definition: types.h:401
OutputType_t
Definition: types.h:500
OutputInstant_t
Definition: types.h:525
double Time_t
Definition: types.h:65
double Temperature_t
Definition: types.h:71
OutputQuantity_t
Definition: types.h:477
double Source_t
Definition: types.h:77
uint32_t Quantity_t
Definition: types.h:59