//Nama : Vhinsen Tangdi Rondo
//Kelas : Instrumentasi 5D
//NPT : 41210090
#include <stdio.h>
#include <string.h>
int seq_number = 1;
uint16_t year = 2023;
uint16_t month = 11;
uint16_t date = 13;
uint16_t hour = 13;
int minute = 40;
int sec = 0;
int fract = 0;
int num_sampling[] = {213,412,300,128,400,350,129,333,298,407} ;
int sample_rate = 100;
char * header;
int16_t num_samples ;
void setup(){
Serial.begin(9600);
char s_number[6];
char * network = "IA";
char * station = "STMKG";
char * location = "00";
char * channel = "HHZ";
header = (char *)malloc(64) ;
header[0]='0';
header[1]='0';
header[2]='0';
header[3]='0';
header[4]='0';
header[5]='1'; //ini ni
header[6]='D';
memcpy (&header[7], station, 5) ;
memcpy (&header[12], location, 2) ;
memcpy (&header[14], channel, 3) ;
memcpy (&header[17], network, 2) ;
// Serial.print("header = ") ;
// Serial.print(header) ;
for(int i = 0 ; i < 10 ; i++)
{
//
sec = sec + ( num_sampling[i] / sample_rate);
fract = fract + ((num_sampling[i]%100)*100);
if (fract >=10000)
{
fract = fract -10000 ;
sec = sec +1 ;
}
if(sec >=60){
minute = minute + 1;
sec = sec - 60;
}
if(minute == 60){
hour = hour + 1;
minute = 0;
}
if(hour == 24){
date = date + 1;
hour = 0;
}
sprintf(s_number, "%06i", seq_number);
seq_number = seq_number + 1;
memcpy (&header[0], s_number, 6) ;
memcpy (&header[19], year, 2) ;
num_samples = num_sampling[i];
memcpy (&header[29], num_samples, 2) ;
Serial.print("header Vhinsen = ") ;
Serial.print(header);
Serial.print("\t fract = ") ;
Serial.print(fract) ;
Serial.print("\t sec = ") ;
Serial.println(sec) ;
//Serial.println(num_samples) ;
}
}
void loop() {
while(seq_number<=10){
}
}