from datetime import datetime
import os

timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
MAIN_LOG_FILE = f"main_log_{timestamp}.txt"
GPS_LOG_FILE = f"gps_log_{timestamp}.txt"

os.makedirs("logs", exist_ok=True)

def log_session_info(gps_time, latitude, longitude, frequency, transmit_time, pause_time):
    """Log session configuration at the start of the main log file"""
    from config import DUTY_MODE  # Import here to avoid circular imports
    
    with open(os.path.join("logs", MAIN_LOG_FILE), "a") as f:
        f.write("=" * 50 + "\n")
        f.write("SESSION CONFIGURATION\n")
        f.write("=" * 50 + "\n")
        f.write(f"Session Start Time: {gps_time}\n")
        f.write(f"Latitude: {latitude:.6f}\n")
        f.write(f"Longitude: {longitude:.6f}\n")
        f.write(f"Frequency: {frequency} Hz\n")
        f.write(f"Duty Mode: {DUTY_MODE}\n")
        if DUTY_MODE == "FULL":
            f.write(f"DUTY Signal: HIGH (constant)\n")
        else:
            f.write(f"DUTY Frequency: {frequency * 2} Hz (1:2 ratio with POLARITY)\n")
        f.write(f"Transmit Time: {transmit_time} seconds\n")
        f.write(f"Pause Time: {pause_time} seconds\n")
        f.write("=" * 50 + "\n\n")

def main_log(message):
    ts = datetime.now().isoformat()
    with open(os.path.join("logs", MAIN_LOG_FILE), "a") as f:
        f.write(f"{ts} {message}\n")
    # Also add timestamp to REPL output
    timestamp = datetime.now().strftime("%H:%M:%S")
    print(f"[{timestamp}] [MAIN] {message}")

def gps_log(message):
    ts = datetime.now().isoformat()
    with open(os.path.join("logs", GPS_LOG_FILE), "a") as f:
        f.write(f"{ts} {message}\n")